這裏是我做了測試的例子:是一個全局範圍的函數內的JavaScript函數?
function f1(var1){
alert('f1 called');
function f2(var2){
alert('f2 called');
}
this.data='something else';
this.f2 = f2;
}
f1.data='something';
f1.f3 = function(var3){
alert('f3 called');
}
console.log(f1); //shows the function
console.log(f1.data); //can have properties attached - cool
console.log(f1.f2(2)); //error: "f1.f2" is not a function
console.log(f1.f3(3)); //this works as expected
看來,F1裏面的功能f2
在範圍上本地。是否有任何等效的方法來調用這樣的函數內的函數?
其分配是這樣的: 'this.f2 = function(){// ...'! –
您需要將其暴露給全局範圍,例如,使用任何一種JS模塊模式。但是,在本地確定一個功能的關鍵在於*避免*污染全球範圍。你最終的目標是什麼? –
@ibrahimmahrir \t ...這就是'this.f2 = f2'所能做的;沒有區別。 –