悟透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的跨域操作。

原文地址:https://www.cnblogs.com/wang_yb/p/2334001.html