函式的name屬性

2021-09-24 01:31:44 字數 425 閱讀 5734

函式的name屬性返回函式的名字。

function fn() {}

fn.name // 'fn'

如果是通過變數賦值定義的函式,那麼name屬性返回變數名。

var f = function() {}

f.name // 'f'

但是,上面這種情況,只有在變數的值是乙個匿名函式時才是如此,如果變數的值是乙個具名函式,那麼

name屬性返回的function關鍵字之後的那個函式名。

var f = function myfunc() {}

f.name // 'myfunc'

上面的**中,f.name返回函式表示式的名字。注意,真正的函式名還是f,而myfunc這個名字只在函式體內部可用。

函式name屬性

在函式宣告和函式命名表示式中都有name屬性。很多資料中都說明函式宣告和命名函式表示式中都已定義了name屬性,對此我也深信不疑。今天做了乙個小測試,發現在ie下函式的name屬性一直都是未定義。1function foo 函式宣告 2var bar function 函式表示式 3var baz ...

函式的擴充套件 name屬性

函式的name屬性返回該函式的函式名 function foo foo.name foo 這個屬性早就被瀏覽器廣泛支援,但是直到 es6,才將其寫入了標準。需要注意的是,es6 對這個屬性的行為做出了一些修改。如果將乙個匿名函式賦值給乙個變數,es5 的name屬性,會返回空字串,而 es6 的na...

ES6 函式的擴充套件 name屬性

函式 name 的屬性,返回該函式的函式名。function foo foo.name foo 這個屬性以前就支援,只是 es6 對這個屬性的行為做了一些修改。如果將乙個匿名函式賦值給乙個變數,es5 的 name 屬性,會返回空字串,而 es6 的 name 屬性會返回實際的函式名。var f f...