下面的代碼與它等價: 復制代碼 代碼如下: 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 數組循環引起的思考,轉載需保留來源!

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

主站蜘蛛池模板: 99国内偷揿国产精品人妻 | 成人免费视频在线 | 国产亚洲精品久久久久久国模美 | 精品免费久久久久久成人影院 | 草莓视频在线看免费高清观看 | 亚洲色图在线观看视频 | 美女脱三角裤 | 亚洲伊人久久综合影院2021 | 国内精品久久久久久久999下 | 日本真人啪啪试看30秒 | 日本无码免费久久久精品 | 真实国产熟睡乱子伦对白无套 | 亚洲色播永久网址大全 | 甜性涩爱下载 | 日本高清无卡码一区二区久久 | 久久综合电影 | 男人都懂www深夜免费网站 | 国内精品视频在线播放一区 | 野花日本大全免费高清完整版 | 欧美高清一区二区三 | 快穿之H啪肉 | 免费精品国产人妻国语麻豆 | 人妻激情综合久久久久蜜桃 | 卫生间被教官做好爽HH视频 | 女子叉开腿让男子桶免费软件 | 顶级欧美不卡一区二区三区 | 色小妹影院 | 用震蛋调教女性下面视频 | 日本欧美久久久久免费播放网 | 国产欧美一区二区精品仙草咪 | 清晨紧湿爱运动h高h | 亚洲h视频在线观看 | 天天躁人人躁人人躁狂躁 | 国产成人亚洲精品无广告 | 麻生希快播在线 | 男生插曲女生身全过程 | 好大好硬好湿再深一点网站 | 五花大绑esebdsm国产 | 加勒比一本之道高清视频在线观看 | 伊人精品久久久大香线蕉99 | 精品无码无人网站免费视频 |