源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

JavaScript编程中容易出BUG的几点小知识

  • 时间:2020-04-08 09:55 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:JavaScript编程中容易出BUG的几点小知识
JavaScript是如今最受欢迎的编程语言之一,但受欢迎同时就是该语言自身的各种特性带来的副作用,无论该语言多美妙,每天还是有成千上万的程序员弄出一堆bug。先不要嘲笑别人,或许你也是其中之一。 给你一个例子,下面是几个简短的完全有效的JS片段(你可以在你的控制台上试验一下):
[u]复制代码[/u] 代码如下:
typeof NaN === 'number' // true   Infinity === 1/0        // true 0.1 + 0.2 === 0.3       // false,前面加括号也一样 "3" + 1                 // '31'  "3" - 1                 // 2
你还相信自己的JavaScript吗? [b]1、JS最小的值[/b]
[u]复制代码[/u] 代码如下:
Number.MIN_VALUE > 0; //true
Number.MIN_VALUE用于JavaScript可以表达的最小值,为5e-324,然而是JS中最接近0的一个数 [b]2、字符串连接[/b]
[u]复制代码[/u] 代码如下:
("foo" + + "bar") === "fooNaN"  //true "why I am " + typeof + ""       // why I am number
JS解析成“foo” + (+ “bar”), 这将会把 “bar” 转成一个数字 [b]3、parseInt 函数[/b]
[u]复制代码[/u] 代码如下:
parseInt('06'); // 6 parseInt('08'); // 0  注意,谷歌新版已修正 parseInt(null, 24) === 23 // true
[b]4、null是不是object[/b]
[u]复制代码[/u] 代码如下:
typeof null  // object null instanceof Object  // false
[b]5、return返回内容[/b]
[u]复制代码[/u] 代码如下:
function myjson() {    return    [      2    ] } myjson();  // undefined
return返回的内容必须和return在同一行 [b]6、奇怪的数字[/b]
[u]复制代码[/u] 代码如下:
 012  == 12  // false '012' == 12  // true  "3" + 1     // '31'  "3" - 1     // 2 0.1 + 0.2 == 0.3 // false 0.1 + 0.7 == 0.8 // false 0.2 + 0.7 == 0.9 // false 9999999999999999 // 10000000000000000 9999999999999999-1 //10000000000000000 111111111111111111111 // 111111111111111110000
[b]7、诡异的参数[/b]
[u]复制代码[/u] 代码如下:
function hello(what) {      alert(arguments[0]);    //vicky      what = "world";      return "Hello, " + arguments[0] + "!"; } hello("vicky"); //"Hello, world!"
[b]8、让人头大的等号[/b]
[u]复制代码[/u] 代码如下:
NaN === NaN;   // false [] == false;   // true "" == false;   // true null == false; // false [] == ![]      // true window.window == window  // true window.window === window // false,有些浏览器是true window == document       // true,有些浏览器是false ("0" && {}) == 0 // false (0 && {}) == 0   // true 0 == "0"         // true [] == 0          // true
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部