欧美成人精品手机在线观看_69视频国产_动漫精品第一页_日韩中文字幕网 - 日本欧美一区二区

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

JS技巧:javascript編程:編程的陷阱(gotcha)

admin
2010年8月17日 23:8 本文熱度 3928
編程的陷阱(gotcha)是指計算機系統中的意想不到的文檔特征而不是bug.這些陷阱使得初學者遠離javascript編程.在我看來,因為所有的瀏覽器都能運行javascript使得它是使用最廣泛的語言之一,但它也是最少人研究的.讓我們從一個基礎的示例開始.

1.浮點運算

這可能是挫敗一些對javascript不熟悉并準備執行一些數學運算的人的主要原因.

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

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

2.加號操作符的重載

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

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> 

上述行為是因為這些運算都是從左到右執行的.類型的轉換是基于其中的字符串或數字.

3.行尾插入分號

javascript 自動在行尾插入分號";",讓我們來看看這在一個簡單的示例中的情況.

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> 

當在創建對象或使用對象的值的時候這個神奇的分號能使事情變得更復雜.

4.typeof操作符

typeof 是一個一元操作符,運算結果往往并不是如預期的那樣.令人吃驚的是對"null"的運算結果是"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!  ;) 

 

$False$

  
7.</script>
它僅僅能查找對象的原始類型.

5. false, null, undefined, NaN, Infinity

盡管他們看起來相似,但他們代表著不通的意思.javascript有3種基本數據類型數字numbers, 字符串strings 和布爾 boolean,除此之外還有兩個不重要的數據類型"undefine"和"null".按照"=="運算符運算,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.字符串只替換第一個匹配的字符

與PHP或其他程序語言不同,默認情況下,javascript的字符替換只替換第一個出現的匹配的字符.

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 函數


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

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

該文章在 2010/8/17 23:08:41 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved