求問大神,js中的return在此函數(shù)中的意義。謝謝!
求大神解釋一下return在這個(gè)例子中是什么意思?
我一知半解,看了一個(gè)大神的解答大概感覺和計(jì)算器上的“=”是一個(gè)概念,但是放在這里是為什么呢?return x的上一段中已經(jīng)有x=x.nextSibling這個(gè)循環(huán)條件了,是為什么呢?麻煩通俗易懂一下 謝謝了。
<!DOCTYPE?HTML> <html> <head> <meta?http-equiv="Content-Type"?content="text/html;?charset=utf-8"> <title>nextSibling</title> </head> <body> <ul?id="u1">??? ????????????<li?id="a">javascript</li>??? ????????????<li?id="b">jquery</li>??? ????????????<li?id="c">html</li>??? ????????</ul>??? ????????<ul?id="u2">??? ????????????<li?id="d">css3</li>??? ????????????<li?id="e">php</li>??? ????????????<li?id="f">java</li>??? ????????</ul>??? <script?type="text/javascript"> ????function?get_nextSibling(n){ ????????var?x=n.nextSibling;???????????//x= ????????while?(x?&&?x.nodeType!=1){ ????????????x=x.nextSibling; ????????} ????????return?x; ????} ????var?x=document.getElementsByTagName("li")[0]; ????document.write(x.nodeName); ????document.write("?=?"); ????document.write(x.innerHTML); ???? ????var?y=get_nextSibling(x); ???? ????if(y!=null){ ????????document.write("<br?/>nextsibling:?"); ????????document.write(y.nodeName); ????????document.write("?=?"); ????????document.write(y.innerHTML); ????}else{ ??????document.write("<br>已經(jīng)是最后一個(gè)節(jié)點(diǎn)");?????? ????} ??? ???function?get_previousSibling(n){ ???????var?x=n.previousSibling; ???????while(x?&&?x.nodeType!=1){ ???????????x=x.previousSibling; ???????} ???????return?x; ???} ???? </script> </body> </html>
2016-03-10
舉個(gè)簡單的例子,以下是計(jì)算和的函數(shù),
function add(x,y){
var sum=x+y;
}
計(jì)算2+3=?
調(diào)用函數(shù):add(2,3);
然后我想輸出結(jié)果,document.write(sum);
然后就會發(fā)現(xiàn)報(bào)錯(cuò)了sum is not defined,這是說sum沒有聲明呀,
問題是 在add函數(shù)里面不是有寫var sum=x+y;為啥不起作用類,
因?yàn)檫@里定義的sum是局部變量,出了這個(gè)函數(shù)它就不管用了呀,
這樣怎么得到結(jié)果類,也只能老老實(shí)實(shí)寫下return了,
function add(x,y){
var sum=x+y;
return sum;
}
然后輸出結(jié)果可以直接document.write(add(2,3));
也可以先承接結(jié)果,var sum=add(2,3);document.write(sum);
而return就是用來返回結(jié)果的的,同時(shí),return也是可以終止函數(shù)的,比如
function add(x,y){
var sum=x+y;
return sum;
alert(1);
}
執(zhí)行add(2,3);發(fā)現(xiàn)根本不會彈出1,因?yàn)閞eturn后面的alert是不會執(zhí)行的。