码迷,mamicode.com
首页 > 编程语言 > 详细

javascript面向对象学习

时间:2018-10-11 19:02:02      阅读:143      评论:0      收藏:0      [点我收藏+]

标签: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就是在原类的基础上进行方法扩展,用元素来给构造函数增加方法!

总结

用构造函数来增加属性,每个对象的属性各不相同!!!

技术分享图片

 

javascript面向对象学习

标签:UNC   例子   odi   ==   改变   class   nbsp   idt   obj   

原文地址:https://www.cnblogs.com/qdlhj/p/9773699.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!