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

幫助避免錯(cuò)誤的Javascript陷阱清單

翻譯講究"信/雅/達(dá)",我就談不上了.希望能把文章的意思不要弄錯(cuò)就行.

編程的陷阱(gotcha)是指計(jì)算機(jī)系統(tǒng)中的意想不到的文檔特征而不是bug.這些陷阱使得初學(xué)者遠(yuǎn)離Javascript編程.在我看來,因?yàn)樗械臑g覽器都能運(yùn)行Javascript使得它是使用最廣泛的語言之一,但它也是最少人研究的.讓我們從一個(gè)基礎(chǔ)的示例開始.

1.浮點(diǎn)運(yùn)算

這可能是挫敗一些對Javascript不熟悉并準(zhǔn)備執(zhí)行一些數(shù)學(xué)運(yùn)算的人的主要原因.

  1. <script>  
  2. alert(0.02 / 0.1);  //0.19999999999999998   
  3. alert(1.14 * 100);  //113.99999999999999    ;)  
  4. </script> 

Math.round()就能在這里派上用場.

2.加號操作符的重載

"+"加號運(yùn)算符即能做算術(shù)運(yùn)算,又能夠做字符串的連接.如果正確的使用它是很便利的.讓我們看一看.

  1. <script>  
  2. var msg, one="1";  
  3. msg = 2 + "1"// msg = "21"  
  4. msg = 2 + one; // msg = "21"  
  5. msg = 1 + 1 + 1 + " musketeers"// msg = "3 musketeers"  
  6. msg = "Bond " + 0 + 0 + 7; //msg = "Bond 007"    
  7. </script> 

上述行為是因?yàn)檫@些運(yùn)算都是從左到右執(zhí)行的.類型的轉(zhuǎn)換是基于其中的字符串或數(shù)字.

3.行尾插入分號

Javascript 自動(dòng)在行尾插入分號";",讓我們來看看這在一個(gè)簡單的示例中的情況.

  1. <script>  
  2. function returnSame(a){  
  3.    return                 //Inserts semi-colon to convert to return;  
  4.    a                      //a becomes a; - Unreachable  
  5. }  
  6. alert(returnSame(2));  //Output is undefined  
  7. </script> 

當(dāng)在創(chuàng)建對象或使用對象的值的時(shí)候這個(gè)神奇的分號能使事情變得更復(fù)雜.

4.typeof操作符

typeof 是一個(gè)一元操作符,運(yùn)算結(jié)果往往并不是如預(yù)期的那樣.令人吃驚的是對"null"的運(yùn)算結(jié)果是"object"

  1. <script>  
  2. var obj={};  //object created using object literal  
  3. var arr=[];  //array created by array literal  
  4. alert(typeof(obj));   //object  - Good  
  5. alert(typeof(arr));   //object  - Bad  
  6. alert(typeof(null));  //object  - Ugly!  ;) 
  7. </script>

它僅僅能查找對象的原始類型.

5. false, null, undefined, NaN, Infinity

盡管他們看起來相似,但他們代表著不通的意思.Javascript有3種基本數(shù)據(jù)類型數(shù)字numbers, 字符串strings 和布爾 boolean,除此之外還有兩個(gè)不重要的數(shù)據(jù)類型"undefine"和"null".按照"=="運(yùn)算符運(yùn)算,null和undefine是相等的.

  1. <script>  
  2. var a;  
  3. alert (a);    //undefined  
  4. alert (1/0);  //Infinity  
  5. alert (0/0);  //NaN  
  6. 0/0 == 0/0;   //false - a NaN != NaN  
  7. alert (b);    //error  
  8. </script> 

6.字符串只替換第一個(gè)匹配的字符

php或其他程序語言不同,默認(rèn)情況下,Javascript的字符替換只替換第一個(gè)出現(xiàn)的匹配的字符.

  1. <script>  
  2. var nospace = "I dont need spaces".replace(" ","_");  
  3. alert(nospace);    //I_dont need spaces   - Only first occurence  
  4. var nospace = "I dont need spaces".replace(/ /g,"_");  
  5. alert(nospace);    //I_dont_need_spaces  
  6. </script> 

 7.parseInt 函數(shù)

parseInt 用來將一個(gè)字符串轉(zhuǎn)換為整數(shù)類型.這個(gè)函數(shù)能傳入兩個(gè)參數(shù),第二個(gè)參數(shù)是指定多少進(jìn)制的.這里十進(jìn)制用 10 指定.如果沒有指定進(jìn)制,則parseInt函數(shù)自己會(huì)試圖找到合適的進(jìn)制.如果是這樣,以0開頭的字符串將會(huì)轉(zhuǎn)換為8進(jìn)制.

  1. <script>  
  2. var str = "017";  
  3. var strInt = parseInt(str);      //strInt = 15  ;)  
  4. var strInt = parseInt(str,10);   //strInt = 17  
  5. </script> 

JavaScript技術(shù)幫助避免錯(cuò)誤的Javascript陷阱清單,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 国语对白嫖老妇胖老太 | 亚洲欭美日韩颜射在线二 | yellow在线观看免费高清的日本 | 国内免费视频成人精品 | 又黄又粗又爽免费观看 | 四虎影视国产精品亚洲精品hd | 亚洲欧美激情精品一区二区 | 青青在线视版在线播放 | 2021国产精品视频 | 24小时日本免费看 | 国产盗摄TP摄像头偷窥 | 被黑人群jian又粗又大H | 无码AV熟妇素人内射V在线 | 九九免费高清在线观看视频 | 广东95后小情侣酒店自拍流出 | 免费看的一级毛片 | 暖暖 视频 在线 观看 高清 | 中文字幕 人妻熟女 | YELLOW视频直播在线观看高清 | 性色爽爱性色爽爱网站 | 国产精品久久久久a影院 | 欧美深深色噜噜狠狠yyy | 色橹橹欧美在线观看视频高清 | 九色PORNY丨视频入口 | 中文字幕一区二区三区在线不卡 | 欧美精品色婷婷五月综合 | a免费视频 | 古代又黄又肉到湿的爽文 | 漂亮的保姆3集电影免费观看中文 | 国产电影午夜成年免费视频 | 日韩欧美一区二区三区免费看 | 加勒比一本之道高清视频在线观看 | 9277在线观看资源 | 麻豆传煤网站网址入口在线下载 | 久久综合中文字幕无码 | 国产精品人妻无码久久久奥特曼 | 嗯啊…跟校草在教室里做h 嗯 用力啊 嗯 c我 啊哈老师 | 亚洲国产成人久久一区www妖精 | 日本女人bbb | 午夜人妻理论片天堂影院 | 在线观看成年人免费视频 |