官术网_书友最值得收藏!

3.3.3 name屬性

調用函數的name屬性會返回該函數的函數名:

function foo() {}
foo.name // "foo"

ES6對name屬性的行為做出了一些修改,如果將一個匿名函數賦值給一個變量,ES5的name屬性會返回空字符串,而ES6的name屬性會返回實際的函數名:

var f = function () {};
// ES5
f.name // ""
// ES6
f.name // "f"

上述代碼中,變量f等于一個匿名函數,ES5和ES6的name屬性返回的值不一樣。如果將一個具名函數賦值給一個變量,則ES5和ES6的name屬性都返回這個具名函數原本的名字。

const bar = function baz() {};
// ES5
bar.name // "baz"
// ES6
bar.name // "baz"

Function構造函數返回的函數實例,name屬性的值為anonymous:

(new Function).name // "anonymous"

bind返回的函數,name屬性值會加上bound前綴:

function foo() {};
foo.bind({}).name             // "bound foo"
(function(){}).bind({}).name  // "bound "
主站蜘蛛池模板: 舞钢市| 马公市| 仙游县| 镶黄旗| 长顺县| 平谷区| 项城市| 东方市| 横山县| 怀宁县| 思南县| 治多县| 潼关县| 太原市| 宜昌市| 淮阳县| 濉溪县| 绥芬河市| 肥西县| 陈巴尔虎旗| 色达县| 五指山市| 清镇市| 罗源县| 汤原县| 滨海县| 漾濞| 眉山市| 五河县| 图木舒克市| 鲁甸县| 松滋市| 和静县| 民县| 南宫市| 麻城市| 承德县| 新化县| 阿荣旗| 政和县| 甘泉县|