LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

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

admin
2010年8月17日 23:8 本文热度 3739
编程的陷阱(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-2024 ClickSun All Rights Reserved