function Hello()
{
function HelloAgain(){
}
}
function MyFunction(){
...
}
這裏我需要從MyFunction()調用函數HelloAgain()。 你能爲這種情況提出任何可能的解決方案嗎?如何從Javascript中的另一個函數調用函數內的子函數?
function Hello()
{
function HelloAgain(){
}
}
function MyFunction(){
...
}
這裏我需要從MyFunction()調用函數HelloAgain()。 你能爲這種情況提出任何可能的解決方案嗎?如何從Javascript中的另一個函數調用函數內的子函數?
你不能。 HelloAgain
il的範圍限於Hello
函數。 這是在javascript中創建私有作用域的唯一方法。
您不能,HelloAgain函數在閉包中,並且被限定爲閉包。
您可以返回HelloAgain函數,然後在任何可以調用Hello的地方調用它。
function Hello() {
function HelloAgain() {}
return HelloAgain;
}
function MyFunction() {
Hello().HelloAgain();
}
但這有點奇怪。
您可以使用this
關鍵字來處理此事。
function Hello() {
this.helloAgain = function helloAgain() {}
}
var hello = new Hello();
function MyFunction() {
hello.helloAgain();
}
谷歌倒了? –
如果'HelloAgain'是嵌套的,則表明它不應該從父函數之外使用。如果您在功能之外需要它,爲什麼要將它嵌套在第一位。我認爲這在邏輯上不合理。如果子函數使用父函數的數據會怎麼樣?如果父函數從未被調用,那麼內部函數將使用哪些數據? – Carcigenicate
這是不可能的......除非你以某種方式暴露它。 – epascarello