調用另一個函數中的一個函數我已經在一個腳本文件A.js創建嵌套函數,象下面這樣:如何在javascript
function A(){
function B(){}
}
如果我要調用函數B()在另一個腳本文件C .js,我該怎麼辦?
調用另一個函數中的一個函數我已經在一個腳本文件A.js創建嵌套函數,象下面這樣:如何在javascript
function A(){
function B(){}
}
如果我要調用函數B()在另一個腳本文件C .js,我該怎麼辦?
你想要做什麼,似乎是創建一個function closure的B
使用A()
內的變量。如果您在致電A()
後返回B
,則可以訪問此關閉B
。
A.js
:
function A([parameters]) {
[variables]
function B() { [function body] }
//Return B from A:
return B;
}
C.js
:那麼,在C.js
,您可以通過調用A
和使用的返回值訪問B
//Get B:
var bFunction = A([parameters]):
//Call bFunction:
bFunction();
謝謝,正是我需要的〜 – angella1011
你必須返回嵌套函數:
function A(){
return function B(){}
}
然後在C.js
var funB = A();
funB();
或
A()();
你不得不從返回嵌套函數B()
父功能A()
。
您的代碼
function A(){
function B(){}
}
更新的代碼與return語句
function A(){
return function B(){ //return added
}
}
您可以通過添加額外的()
括號函數調用,如下面的例子訪問子功能。
A()();
是否有任何原因的嵌套功能?函數A還有其他什麼,還是隻是函數B? – Andy
你會怎麼做,這取決於許多其他的事情。沒有一個正確的答案。 – Pointy
你不能,你不能訪問另一個函數的作用域,除非你暴露它。 –