Probabilmente dipende dall'implementazione.
In alcune implementazioni, la proprietà name
di un oggetto funzione viene utilizzata come nome della funzione, se ne ha uno. È probabile che sia di sola lettura in questi casi.
Questa è una funzione non standard.
ad esempio:
var foo = function bar() {};
alert(foo.name); // will give "bar" in some cases.
In Firefox e Chrome, se provo a modificarlo, non cambierà ...
var foo = function bar() {};
foo.name = "baz";
alert(foo.name); // still "bar" in Firefox and Chrome
Ecco alcuni punti chiave dalla documentazione ...
"non standard"
"La proprietà name restituisce il nome di una funzione o di un stringa vuota per funzioni anonime "
" Non è possibile modificare il nome di una funzione, questa proprietà è di sola lettura "
fonte
2012-07-14 18:55:06
Funzionante per me in IE9. –