先看一个特别不符合直觉的代码 <script type="text/javascript"> var a = [1,2,3,4]; var b = [1,2,3,4]; console.log(a==b); //出现false,按照常规理解,a和b应该是一样的,都是[1,2,3,4],同时也说明,js中不能这么判断数组时候相同 </script> 再看代码 <script type="text/javascript"> var a…
私有变量在js中是个什么概念.当下我的认识是var所定义的变量,实际可以理解为属性和方法,或者单单是临时存储器,不归属任何对象. 一个声明函数: function a(){ var v = "bc";} 这样定义的变量v有以下特征: 只有当a函数被执行的时候,即添加尾括号调用,内部才会开始v的声明(预处理)及赋值的操作(执行). 用后即毁,再不占用内存. 闭包的情况会常驻内存,直到闭包结束. console.dir打印函数v变量不可见. a函数的prototype是个Object对象…