文档介绍:JavaScript秘密花园
JavaScript秘密花园
简介
对象
原型
hasOwnProperty
函数
this 的工作原理
闭包和引用
arguments 对象
上下文与命名空间
构造函数
等于与比较
数组
Array 构造函数
for in 循环
typeof 操作符
instanceof 操作符
类型转化
undefined 与 null
邪恶的 eval
setTimeout 与 setInterval
自动分号插入简介(Intro)
JavaScript 秘密花园是一个不断更新的文档,主要关心 JavaScript 一些古怪用法。
对于如何避免常见的错误,难以发现的问题,以及性能问题和不好的实践给出建议,
初学者可以籍此深入了解 JavaScript 的语言特性。
JavaScript 秘密花园不是用来教你 JavaScript。为了更好的理解这篇文章的内容,
你需要事先学习 JavaScript 的基础知识。在 Mozilla 开发者网络中有一系列非常棒的 JavaScript 学习向导。
关于作者(The authors)
这篇文章的作者是两位 Stack Overflow 的用户, Ivo Wetzel (写作) 和 Zhang Yi Jiang (设计)。
贡献者(Contributors)
Caio Rom?o (拼写检查)
Andreas Blixt (语言修正)
许可(License)
JavaScript 秘密花园在 MIT license 许可协议下发布,并存放在开源社区 GitHub。
如果你发现错误或者打字错误,请 file an issue 或者 pull request。
你也可以在 Stack Overflow 的聊天室 JavaScript room 找到我们。
中文翻译(Chinese Translation)
JavaScript Garden - 原文
JavaScript Garden - 中文翻译
译作者:三生石上
本中文翻译由三上石上原创,博客园首发,转载请注明出处。
对象使用和属性(Object Usage and Properties)
JavaScript 中所有变量都是对象,除了两个例外 null 和 undefined。
() // 'false'
[1, 2, 3].toString(); // '1,2,3'function Foo(){}
= 1;
; // 1
一个常见的误解是数字的字面值(literal)不是对象。这是因为 JavaScript 解析器的一个错误,
它试图将点操作符解析为浮点数字面值的一部分。
(); // 出错:SyntaxError
有很多变通方法可以让数字的字面值看起来像对象。
2..toString(); // 第二个点号可以正常解析
2 .toString(); // 注意点号前面的空格
(2).toString(); // 2先被计算
对象作为数据类型(Objects as a data type