下面的代碼與它等價: 復制代碼 代碼如下: v " /> 精品99久久久久成人网站,好色美女小雅,337p啪啪人体大胆

天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

JavaScript 數組循環引起的思考

看代碼,不說話:
復制代碼 代碼如下:
var i=arr.length;
while(i--)
{
//寫點啥?
}

上面是Google array.js 程序中建議改進的代碼。思考為什么i-- 到了 i為0時while循環結束了?

下面的代碼與它等價:
復制代碼 代碼如下:
var i=arr.length;
for(;i--;)
{
//i--寫在兩個分號的中間,奇怪嗎?不奇怪嗎?
}

震撼?沒感覺?

呃。平時我們寫在兩個分號中間的是什么?這個i--按“常理”應該是在第二個分號之后啊。那我們看看C語言的代碼:
復制代碼 代碼如下:
int main()
{
int i = 5;
while(i--)
{
printf("%d ", i);
}
while(1);
return 0;
}

運行的結果也是與JavaScript驚人的一致!

好吧。我不知道這是為什么?只知道數值0轉換成布爾值為false:

var i= !!0;

而別的數值轉換成布爾值為true。上面的示例程序代碼是將數值到布爾值的顯式轉換。

0隱式轉換為false的情況用下面的JS程序測一下:
復制代碼 代碼如下:
var i=0;
if(i)
{
alert('if');
}
else{
alert('else');
}
alert('不管怎么if和怎么else程序都要走這兒');

if這個示例代碼寫得一點都不“實戰”?那好吧,下面是一位土豆網前端開發高手的代碼示例片段:
復制代碼 代碼如下:
var obj = {status:0, msg:'xxxx'};
var data = obj.status || 'xxxx';

這個總夠“隱蔽”的了!

再強調一次:數值0的隱式轉換成布爾值為false的條件是在if()中、while()中、for(;;)兩個分號的中間等布爾判定的條件表達式。

JavaScript技術JavaScript 數組循環引起的思考,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 久久婷五月综合色啪首页 | 蜜桃无码AV视频在线观看 | 久久国产成人午夜AV影院无码 | 4399的视频BD高清在线观看免费 | 亚洲精品资源网在线观看 | 亚洲欧美韩国综合色 | 忘忧草在线影院WWW日本动漫 | 九九热这里只有精品视频免费 | 九九热这里只有精品2 | 十次啦中文网 | 国产精品久久欧美一区 | 双性h浪荡受bl | 999久久久国产 | 一本大道熟女人妻中文字幕在线 | 免费观看亚洲视频 | 丫鬟粗大狠狠贯穿h | 琪琪电影午夜理论片77网 | 国产免费高清mv视频在线观看 | 视频在线观看高清免费看 | 国产精品亚洲专一区二区三区 | 2021精品高清卡1卡2卡3麻豆 | 国产人妻系列无码专区97SS | 一本道本线中文无码 | 一本道dvd久久综合高清免费 | 9277在线观看资源 | 美女叉腿掰阴大胆艺术照 | 中文字幕在线免费观看视频 | 老阿姨才是最有味的一区二区 | 久久vs国产综合色 | 天美传媒色情原创精品 | 国产在线成人一区二区三区 | 日本后进式猛烈xx00动态图 | 诱咪视频免费 | 国产精品人妻99一区二 | 小泽玛丽av无码观看 | 成人国内精品久久久久影 | 2021精品高清卡1卡2卡3麻豆 | 久久视频在线视频观看精品15 | 熟女人妻水多爽中文字幕 | 亚洲午夜精品aaa级久久久久 | 日本视频一区二区免费观看 |