`
cwqcwk1
  • 浏览: 89249 次
文章分类
社区版块
存档分类
最新评论

你真的了解JavaScript?

 
阅读更多

JavaScript是如今最受欢迎的编程语言之一,但受欢迎同时就是该语言自身的各种特性带来的副作用,无论该语言多美妙,每天还是有成千上万的程序员弄出一堆bug。先不要嘲笑别人,或许你也是其中之一。

给你一个例子,下面是几个简短的完全有效的JS片段(你可以在你的控制台上试验一下):

typeof NaN === 'number' // true
 
Infinity === 1/0        // true

0.1 + 0.2 === 0.3       // false,前面加括号也一样

"3" + 1                 // '31'  
"3" - 1                 // 2

你还相信自己的JavaScript吗?

1、JS最小的值

Number.MIN_VALUE > 0; //true
Number.MIN_VALUE用于JavaScript可以表达的最小值,为5e-324,然而是JS中最接近0的一个数

2、字符串连接

("foo" + + "bar") === "fooNaN"  //true
"why I am " + typeof + ""       // why I am number
JS解析成“foo” + (+ “bar”), 这将会把 “bar” 转成一个数字

3、parseInt 函数

parseInt('06'); // 6
parseInt('08'); // 0  注意,谷歌新版已修正
parseInt(null, 24) === 23 // true

4、null是不是object

typeof null  // object
null instanceof Object  // false
5、return返回内容
function myjson()
{
   return
   [
     2
   ]
}

myjson();  // undefined

return返回的内容必须和return在同一行

/********  无情的分割线 ********* /  
  作者:没有开花的树  
  博客:blog.csdn.net/mycwq  
/ *******   无情的copy  *********/ 

6、奇怪的数字

 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

7、诡异的参数

function hello(what) {
     alert(arguments[0]);    //vicky
     what = "world";
     return "Hello, " + arguments[0] + "!";
}

hello("vicky"); //"Hello, world!"
8、让人头大的等号
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


参考

http://blog.csdn.net/mycwq/article/details/17503731

http://wtfjs.com

分享到:
评论

相关推荐

    JavaScript语言案例.zip

    例如,`JavaScript????\JavaScript????.txt`可能是一个包含基本JavaScript语法的文本文件,其中可能讲解了如何使用`document.getElementById()`或`querySelector()`选择元素,以及如何使用`.innerHTML`属性改变元素...

    JavaScript

    JavaScript是一种广泛应用于网页和网络应用的轻量级编程语言,主要用作客户端脚本语言,可在用户的浏览器上运行,无需服务器支持。以下是基于题目提供的内容所...了解和掌握这些概念对于编写JavaScript代码至关重要。

    Simply JavaScript, JavaScript Beginning

    两本书结合,读者可以全面了解JavaScript的基础知识,并掌握实际开发中不可或缺的DOM和AJAX技术。通过深入学习这两本书的内容,无论是网页开发者还是对JavaScript感兴趣的爱好者,都能建立起坚实的JavaScript基础,...

    javascript语言精粹 pdf

    首先,我们要了解JavaScript的基础知识,包括变量、数据类型、操作符和语句。JavaScript支持动态类型,这意味着变量可以存储不同类型的数据,如字符串、数字、布尔值等。了解这些基本数据类型及其用法是学习...

    《JavaScript》课程标准

    通过这门课程的学习,使学生对 JavaScript 有一个全面的了解,掌握相关的知识点,在软件设计中能灵活地运用 JavaScript 进行系统开发。职业能力目标:培养学生编写规范化的程序代码,自主的学习能力,良好的与人沟通...

    你真的了解JavaScript吗?

    说出它们的值 1、typeof(NaN) 、typeof(Infinity)、typeof(null)、typeof(undefined) 2、NaN == NaN 3、NaN != NaN 4、NaN >= NaN 5、null == undefined 6、null >= undefined 7、null <...

    JavaScript标准参考教程

    在学习JavaScript之前,我们首先应该了解为什么需要学习这门语言。JavaScript之所以受欢迎,主要是因为它能够操控浏览器,具备广泛的使用场景,并且学习起来相对容易。JavaScript的性能强大,它是一种开放的语言,...

    一文了解javascript语言,适合小白想了解什么是JavaScript语言的同学

    一文了解javascript语言,适合小白想了解什么是JavaScript语言的同学 本文讲述javascript语言的基础,详细的学习需要系统化学习,文章最后推荐了系列书籍名称

    JavaScript各种使用例子

    JavaScript是一种广泛应用于网页和网络应用的脚本语言,它主要负责网页的动态交互,使得用户在与网页交互时...学习并掌握这些JavaScript知识,将有助于提升你的网页开发技能,创造出更具互动性和用户体验的网页应用。

    javascript帮助文档帮助学习javascript

    通过这个文档,学习者可以系统地了解JavaScript的核心概念和用法。 其次,"《JScript 语言参考》中文版.chm"可能针对的是微软的JScript,它是ECMAScript的一个实现,与JavaScript非常相似。虽然JScript主要用于...

    javascript傻瓜教程PPT

    1. **什么是JavaScript?** JavaScript是一种轻量级的解释型编程语言,主要用于客户端的网页开发。它可以操控网页元素,实现动态效果和用户交互,如表单验证、页面导航等。JavaScript代码通常嵌入到HTML文档中,通过...

    JavaScript 教程chm+JavaScript Helpchm+JavaScript源代码集chm

    此外,随着框架和库的广泛应用,如React、Vue、Angular等,掌握JavaScript也意味着需要了解如何使用这些工具来提高开发效率和代码质量。 总的来说,这个资源包为JavaScript的学习提供了全方位的支持,无论你是初学...

    全站开发javascript

    首先,要了解JavaScript的快速入门知识。初学者可以通过Sublime Text或Notepad++这样的文本编辑器开始编写代码。随后,学习JavaScript的基本语法是必要的,它包括数据类型、变量的使用,以及如何声明和调用函数。...

    从零开始学JavaScript

    初学者在开始学习JavaScript时,通常需要了解以下几个重要知识点: 1. JavaScript基础语法:包括变量声明、数据类型、运算符、控制结构(if...else语句,switch语句,循环语句等)、函数的定义与使用等。 2. DOM...

    JavaScript教程(特效)(chm)

    在开始学习JavaScript特效前,你需要对JavaScript的基础有所了解,包括变量、数据类型、运算符、控制结构(如if语句和循环)、函数等。这些是编写任何JavaScript代码的基础,也是创建特效的前提。 二、DOM操作 DOM...

    javascript几个网页特效

    JavaScript是一种广泛应用于网页开发的脚本语言,它在浏览器端运行,为网页添加交互性和动态效果,极大地提升了用户体验。...在学习和实践中,了解和掌握这些技术,将有助于提升网页的吸引力和功能性。

    深入了解JavaScript中的浅拷贝和深拷贝.pdf

    深入了解JavaScript中的浅拷贝和深拷贝

    JavaScript犀牛书电子版

    在JavaScript的世界里,你需要掌握以下关键知识点: 1. **基础语法**:JavaScript是一种基于原型的动态类型语言,这意味着变量在声明时不需要指定数据类型,而是根据赋值自动确定。了解变量、常量、数据类型(如...

Global site tag (gtag.js) - Google Analytics