求問大神,js中的return在此函數中的意義。謝謝!
求大神解釋一下return在這個例子中是什么意思?
我一知半解,看了一個大神的解答大概感覺和計算器上的“=”是一個概念,但是放在這里是為什么呢?return x的上一段中已經有x=x.nextSibling這個循環條件了,是為什么呢?麻煩通俗易懂一下 謝謝了。
<!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>已經是最后一個節點");?????? ????} ??? ???function?get_previousSibling(n){ ???????var?x=n.previousSibling; ???????while(x?&&?x.nodeType!=1){ ???????????x=x.previousSibling; ???????} ???????return?x; ???} ???? </script> </body> </html>
2016-03-10
舉個簡單的例子,以下是計算和的函數,
function add(x,y){
var sum=x+y;
}
計算2+3=?
調用函數:add(2,3);
然后我想輸出結果,document.write(sum);
然后就會發現報錯了sum is not defined,這是說sum沒有聲明呀,
問題是 在add函數里面不是有寫var sum=x+y;為啥不起作用類,
因為這里定義的sum是局部變量,出了這個函數它就不管用了呀,
這樣怎么得到結果類,也只能老老實實寫下return了,
function add(x,y){
var sum=x+y;
return sum;
}
然后輸出結果可以直接document.write(add(2,3));
也可以先承接結果,var sum=add(2,3);document.write(sum);
而return就是用來返回結果的的,同時,return也是可以終止函數的,比如
function add(x,y){
var sum=x+y;
return sum;
alert(1);
}
執行add(2,3);發現根本不會彈出1,因為return后面的alert是不會執行的。