由於函數是第一類對象,所以應該可以分配給它們的成員。如何分配給一個函數的成員?
我是不是認爲arguments.callee
這樣做?
是否有其他方法來設置這些字段?
如何在第一種情況下設置field
?
function something1() {
arguments.callee.field = 12;
}
alert(something1.field); // will show undefined
something1();
alert(something1.filed); // will show 12
something2 = function() {
arguments.callee.field = 12;
};
alert(something2.field); // will show undefined
something2();
alert(something2.field); // will show 12
更新1
我的意思是如何從函數內訪問的成員在運行時。
我可以寫'something2 =函數something3(){...};'兩個名字之間有什麼區別? – Dims 2012-02-01 20:46:37
@Dims:是的,你可以。區別在於名稱'something3'是該函數的本地名稱,而名稱'something2'將具有您期望的任何外部範圍。所以,例如,你可以寫'var f = function g(){alert(g); };警報(F); f();' - 在函數中使用'g',之後使用'f'。 – ruakh 2012-02-01 21:12:08