第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

這么多個X都是一樣的嗎?

<!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;

? ? ? ? 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)是最后一個節(jié)點"); ? ? ?

? ? }


</script>

</body>

</html>


1,為什么我把以下代碼中的x改掉其他字母,運行的結果輸不出來nextsiling:li=jquery

function get_nextSibling(n){

? ? ? ? var x=n.nextSibling;

? ? ? ? while (x && x.nodeType!=1){

? ? ? ? ? ? x=x.nextSibling;

? ? ? ? }

? ? ? ? return x;

? ? }


2,整個代碼中的x都是一樣的嗎,可不可以詳細解釋下,謝謝

正在回答

2 回答

1. function get_nextSibling中的x只是局部變量,作用于這個function中,出了這個function無效,如果想要把x改成別的,請修改完整,如例子:

function get_nextSibling(n){

? ? ? ? var obj=n.nextSibling;

? ? ? ? while (obj&& obj.nodeType!=1){

? ? ? ? ? ? obj=obj.nextSibling;

? ? ? ? }

? ? ? ? return obj;

? ? }

2.整個代碼中的x不是一樣的,不過除了function get_nextSibling中的,其他地方的x都是一個值,在function外的x變量是javasript全局變量;

??ps:其實按照規(guī)范,function中使用了x不應該在下面再使用x作為全局變量名稱,應該起另外的變量名字,只是這里因為function先定義了,后再定義全局變量,所以沒有出現(xiàn)問題

1 回復 有任何疑惑可以回復我~
#1

慕粉18144024425 提問者

非常感謝!
2016-12-21 回復 有任何疑惑可以回復我~

function get_nextSibling(n){

? ? ? ? var z=n.nextSibling;

? ? ? ? while (z && z.nodeType!=1){

? ? ? ? ? ? z=z.nextSibling;

? ? ? ? }

? ? ? ? return z;

? ? }

可以改呀,把z改為z沒有問題呀,但是要注意:

只能改function?get_nextSibling(n)這個函數(shù)里邊的x,
因為?請注意變量的范圍,在這個函數(shù)里邊的x是局部變量,而他和外邊的語句???
?var?x=document.getElementsByTagName("li")[0];
????document.write(x.nodeName);
????document.write("?=?");
????document.write(x.innerHTML);
????
????var?y=get_nextSibling(x);
????里邊的x不是同一個x。
總結整個代碼的x有兩種,一種是function?get_nextSibling(n)里邊的x,另一種是外邊的x;


1 回復 有任何疑惑可以回復我~
#1

慕粉18144024425 提問者

謝謝!
2016-12-21 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

這么多個X都是一樣的嗎?

我要回答 關注問題
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號