下面的**列印什麼內容,為什麼?
var b=10;
(function b() )();
console.log(b);
最後輸出的答案是
因為函式具名化引起的
匿名函式具名化所以第乙個console.log輸出的是具名函式本身,第二個console.log輸出的是外面的b即為10
下面兩個對比更好的理解具名函式機制
//=>匿名函式具名化
varfn
=function
sum();
fn();
sum();
//->uncaught referenceerror: sum is not defined 匿名函式具名化,設定的函式名不能在函式以外使用「因為並沒有在當前上下文中宣告這個變數」
varfn=
function
sum();
fn();
js匿名函式和具名函式
按照ecmascript標準,函式表示式的樣式如下 opt記號代表的是可選的,也就是可有可無的意思 functionexpression function identifier opt formalparameterlist opt 函式表示式中函式的識別名是可以不需要有的,有名稱的函式表示式,也就...
Python namedtuple 具名元組
python中的tuple是乙個非常高效的集合物件,但是我們只能通過索引的方式訪問這個集合中的元素,比如下面的 bob bob 30,male print representation bob jane jane 29,female print field by index jane 0 for p...
具名元組 namedtuple
作用 命名元組賦予每個位置乙個含義,提供可讀性和自文件性。它們可以用於任何普通元組,並新增了通過名字獲取值的能力,通過索引值也是可以的。collections.namedtuple typename,field names,rename false,defaults none,module none...