js加强
js深度解析
闭包讲解
1.闭包是和gc(垃圾回收机制)相关的
2.闭包实际上是涉及一个对象属性 何时被gc回收的问题
3怎样产生闭包?
<script type="text/javascript"> //闭包 /* 闭包是和gc(垃圾回收机制)相关的 闭包实际上是涉及一个对象属性 何时被gc回收的问题 */ function A(){ var i=0; function b(){ window.alert(i++); } return b; } A();//此时A内存中 变量 i 被gc处理 var c=A();//这种方式 因为c调用了 变量 i 所以gc不会立即回收 c();//输出为0 c();//输出为1 </script>
实例
创建对象的五种方式
使用构造方法定义对象
基本语法
function show(){}; var per=new Person(); window.alert(per.constructor); window.alert(typeof per);
向对象添加方法几种方式
第一种方式
1 function Dog() 2 { } 3 var dog1=new Dog(); 4 dog1.shout=function() 5 { 6 window.alert(‘小狗‘); 7 }; 8 dog1.shout(); 9 var dog2=new Dog(){ 10 11 } 12 dog2.shout();
一
第二种方式
1 function Dog() 2 { } 3 var dog1=new Dog(); 4 Dog.prototype.shout=function() 5 { 6 window.alert(‘小狗‘); 7 }; 8 dog1.shout(); 9 var dog2=new Dog(); 10 dog2.shout();
二
相比于第一种方法这种方法效率更高,因为第一种方法每个对象都独占函数代码,如果对象较多,会影响效率。(prototype原型对象)
时间: 2024-11-05 19:28:46