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
9999999999999999 // 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????\JavaScript????.txt`可能是一个包含基本JavaScript语法的文本文件,其中可能讲解了如何使用`document.getElementById()`或`querySelector()`选择元素,以及如何使用`.innerHTML`属性改变元素...
函数是JavaScript中极为重要的概念,了解它们的工作机制对于编写高质量的代码至关重要。作者还特别指出了闭包这一强大的特性,它使得函数可以记住并访问所在的词法作用域,即使函数是在当前词法作用域之外执行的。 ...
首先,"JavaScript????\"可能是一个目录,用于存放与JavaScript相关的文件,包括示例代码、文档等。在学习JavaScript时,目录结构通常是用来组织代码和资源的有效方式,有助于保持项目整洁并方便管理。 "JavaScript...
JavaScript是一种广泛应用于网页和网络应用的轻量级编程语言,主要用作客户端脚本语言,可在用户的浏览器上运行,无需服务器支持。以下是基于题目提供的内容所...了解和掌握这些概念对于编写JavaScript代码至关重要。
两本书结合,读者可以全面了解JavaScript的基础知识,并掌握实际开发中不可或缺的DOM和AJAX技术。通过深入学习这两本书的内容,无论是网页开发者还是对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的核心概念和用法。 其次,"《JScript 语言参考》中文版.chm"可能针对的是微软的JScript,它是ECMAScript的一个实现,与JavaScript非常相似。虽然JScript主要用于...
1. **什么是JavaScript?** JavaScript是一种轻量级的解释型编程语言,主要用于客户端的网页开发。它可以操控网页元素,实现动态效果和用户交互,如表单验证、页面导航等。JavaScript代码通常嵌入到HTML文档中,通过...
JavaScript是一种广泛使用的脚本编程语言,主要用于网页开发,但其应用不限于浏览器环境,如Node.js也是一种JavaScript运行环境。本文旨在全面介绍JavaScript的基础知识,内容涵盖从基础到进阶的多个方面,包括变量...
首先,要了解JavaScript的快速入门知识。初学者可以通过Sublime Text或Notepad++这样的文本编辑器开始编写代码。随后,学习JavaScript的基本语法是必要的,它包括数据类型、变量的使用,以及如何声明和调用函数。...
初学者在开始学习JavaScript时,通常需要了解以下几个重要知识点: 1. JavaScript基础语法:包括变量声明、数据类型、运算符、控制结构(if...else语句,switch语句,循环语句等)、函数的定义与使用等。 2. DOM...
在开始学习JavaScript特效前,你需要对JavaScript的基础有所了解,包括变量、数据类型、运算符、控制结构(如if语句和循环)、函数等。这些是编写任何JavaScript代码的基础,也是创建特效的前提。 二、DOM操作 DOM...
JavaScript是一种广泛应用于网页开发的脚本语言,它在浏览器端运行,为网页添加交互性和动态效果,极大地提升了用户体验。...在学习和实践中,了解和掌握这些技术,将有助于提升网页的吸引力和功能性。
深入了解JavaScript中的浅拷贝和深拷贝