标签:UNC 例子 odi == 改变 class nbsp idt obj
1、this指向问题,指向的是当前的方法属于谁,当前的方法属于谁就指向谁!!
例子:
oDiv.onclick = function () {
this指向的是oDiv,因为这个方法属于oDiv
}
var obj = new Object(); //构造对象
obj.show=function(){
this====>>这时候的函数属于obj,所以this指向的是obj这个对象
}
2、函数的形式
函数:
方法:
事件处理函数:
构造函数==》函数用来构造对象叫什么构造函数!!!(首字母大写)
3、构造函数
用工厂方式构造对象
工厂方式的问题:
1、没有new
2、每个对象都有一套自己的函数---浪费资源
this:当前的方法属于谁就指谁
函数前面有new的时候,会创建一个新的object,这时候this指向的是这个object
全局函数,this指向的是window,new show()指向是object(使用new函数时系统会在函数内部创建一个对象)!!
4、原型prototype
类比:
prototype ====》》class 改变一类元素的样式 (相同的东西(方法)加到原型里面)
给一个对象加方法 ===》》行间样式 改变一个元素的样式 (不相同的东西(属性)加到构造函数里面)
var arr1 = new Array(12, 5, 8, 4);
var arr2=new Array(44, 6,5,4);
Array.prototype.sum=function(){} 这样arr1跟arr2都有sum这个方法
类 模子
对象(实例) 蛋糕
var arr=new Array();
Array类 不具备实际的功能,只能用来构造对象
arr对象 真正有功能的东西,被类给构造出来的东西
类就是构造函数 Array是类,arr是构造函数
prototype就是在原类的基础上进行方法扩展,用元素来给构造函数增加方法!
总结
用构造函数来增加属性,每个对象的属性各不相同!!!
标签:UNC 例子 odi == 改变 class nbsp idt obj
原文地址:https://www.cnblogs.com/qdlhj/p/9773699.html