Javascript秘密花园 读书笔记

http://bonsaiden.github.io/JavaScript-Garden/zh/#intro

知识点:

1. javascript中所有的变量都是对象, 除了null 和 undefined



2. delete 删除属性


3. 当查找一个对象的属性时,JavaScript 会向上遍历原型链,直到找到给定名称的属性为止。到查找到达原型链的顶部 – 也就是 Object.prototype – 但是仍然没有找到指定的属性,就会返回 undefined。


4. hasOwnProperty
为了判断一个对象是否包含自定义属性而不是原型链上的属性, 我们需要使用继承自 Object.prototype 的 hasOwnProperty 方法。

* hasOwnProperty 是 JavaScript 中唯一一个处理属性但是不查找原型链的函数。


5. for in循环


6. this
在全局范围内使用this,指向全局对象。
* 浏览器中运行javascript脚本,这个全局对象是 window.
在函数内部,this指向新创建的对象。


7. 闭包和引用
闭包是 JavaScript 一个非常重要的特性,这意味着当前作用域总是能够访问外部作用域中的变量。因为 函数 是 JavaScript 中唯一拥有自身作用域的结构,因此闭包的创建依赖于函数。

闭包中最常见的错误:

这里打印出来的全是10,

需要得到正确的结果:需要使用匿名包裹器


8. 不要使用eval,任何可以使用eval都有另外的解决方案。有安全和性能的问题


9. setTimeout , setInterval 内部使用了eval


避免使用setInterval, 因为它的定时执行不会被javascript阻塞。


This entry was posted in javascript, 读书笔记

Leave a Reply

电子邮件地址不会被公开。

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">