悟透javascript-笔记
1. JavaScript是分段分析执行的,并不像一般的解释性语言那样一句一句解释执行。
这里一个段是指<script ...></script>
2. 定义函数的2种方法:
function myfunc(){}; 在一个段中重复定义,只保留最后一次定义,覆盖之前定义
var myfunc = function(){}; 和变量一样,
3. 函数的caller属性可以取得此函数的调用者,如果caller为null,则函数是在全局作用域中被调用的
4. eval()函数动态执行的代码并不创建新的作用域,
普通的函数执行时会创建新的作用域
5. js的函数也像对象一样可以添加"属性"和"方法"
6. object和function的内部实现就是一个字典结构
7. 原型继承时,需要设置子类的prototype指向一个父类对象
8. 一个对象除了有显式原型外,还有个隐式原型(__proto__),
继承来的方法和属性可能存在于隐式原型中,这时通过prototype就访问不到
9. DOM对象是包装过的JavaScript对象。它的属性不能删除和更改,但是可以新增属性
10. DOM对象事件中的this,因为
<div onclick="ClickMe()">Click Me!</div>
等价于 aDiv.onclick = function(){ ClickMe(); };
所以ClickMe()函数中的this是全局Window对象,而不是被点击的div对象。
匿名函数function()中的this才是被点击的div对象
11. 跨域引用脚本来进行js的跨域操作。