題主是說(shuō)在 run 外部調(diào)用 a、b、c?
10年專注成都網(wǎng)站制作,成都企業(yè)網(wǎng)站定制,個(gè)人網(wǎng)站制作服務(wù),為大家分享網(wǎng)站制作知識(shí)、方案,網(wǎng)站設(shè)計(jì)流程、步驟,成功服務(wù)上千家企業(yè)。為您提供網(wǎng)站建設(shè),網(wǎng)站制作,網(wǎng)頁(yè)設(shè)計(jì)及定制高端網(wǎng)站建設(shè)服務(wù),專注于成都企業(yè)網(wǎng)站定制,高端網(wǎng)頁(yè)制作,對(duì)社區(qū)文化墻等多個(gè)領(lǐng)域,擁有多年的營(yíng)銷推廣經(jīng)驗(yàn)。
那是不可能的,使用嵌套函數(shù)的目的就是為了讓外部無(wú)法調(diào)用,以達(dá)到封裝性的目的。
可以使用折衷的辦法:
function?run(obj){
function?a(){
return?'我不愛(ài)你';
}
function?b(){
return?'我愛(ài)你';
}
function?c(){
return?'我只喜歡你';
}
switch(obj){
case?'a':
return?a();
break;
case?'b':
return?b();
break;
case?'c':
return?c();
break;?
}
return?null;
}
使用時(shí):
alert(run('a'));
alert(run('b'));
alert(run('c'));
方法嵌套實(shí)際是要實(shí)現(xiàn)一種循環(huán),是循環(huán)就有兩個(gè)要素:一個(gè)是終止條件,一個(gè)是增量。
方法嵌套實(shí)際是要實(shí)現(xiàn)一種循環(huán),是循環(huán)就有兩個(gè)要素:一個(gè)是終止條件,一個(gè)是增量。
嵌套函數(shù)和普通函數(shù)有一點(diǎn)不同:?
既然是嵌套函數(shù),就是把自身當(dāng)作值運(yùn)用到函數(shù)體內(nèi)。這就要求函數(shù)必須有一個(gè)返回值。就要用return語(yǔ)句。
function?a(x){?
if(x=1)?
return?1;?
else?
return?x*a(x-1);?
}?
//上述示例是一個(gè)嵌套函數(shù),來(lái)確定一下循環(huán)要素:if(x=1)?return?1;這是終止條件,當(dāng)x=1時(shí)終止,else?return?x*a(x-1);這是增量,每次嵌套調(diào)用函數(shù)a()時(shí)參數(shù)都會(huì)減1
function?a(x){?
if(x=1)
return?1;?
else{?
var?m=1;?
for(var?i=2;i=x;i++){?
m*=i;?
}?
return?m;?
}?
}?
//上述示例嵌套函數(shù)就是要實(shí)現(xiàn)這樣的循環(huán)
例:
test.htm
script src=1.js/script
1.js
document.write("script src=2.js/script");
2.js
document.write(2);
注意,如果把1.js中的document.write("script src=2.js/script");
直接寫(xiě)在html文檔中是需這樣寫(xiě):
document.write("scr"+"ipt src=2.js/scr"+"ipt");
你這個(gè)寫(xiě)法太亂,php和js都是支持單引號(hào)的,你用單引號(hào)能很容易看出問(wèn)題
你的錯(cuò)誤就是你echo那行后邊帶了分號(hào)結(jié)束
而下一行script是不在那個(gè)字符串里的,而且又不符合php語(yǔ)法所以報(bào)錯(cuò)