Prawdopodobnie zależy od implementacji.
W niektórych implementacjach właściwość name
obiektu funkcji jest używana jako nazwa funkcji, jeśli ma taką funkcję. Jest to prawdopodobnie tylko do odczytu w tych przypadkach.
To jest funkcja niestandardowa.
na przykład:
var foo = function bar() {};
alert(foo.name); // will give "bar" in some cases.
W Firefox i Chrome, gdy próbuję go zmodyfikować, to nie zmieni ...
var foo = function bar() {};
foo.name = "baz";
alert(foo.name); // still "bar" in Firefox and Chrome
Oto kilka kluczowych punktów z docs ...
"niestandardowa"
„Właściwość Nazwa zwraca nazwę funkcji, albo pusty ciąg znaków dla funkcji anonimowych "
" Nie można zmienić nazwy funkcji, Ta właściwość jest tylko do odczytu "
Działa dobrze dla mnie w IE9. –