1.面向对象
Java编程中万物皆对象,即所有为外界提供属性和方法的整体都可以看做对象,而在面向对象编程中,我们只关注对象提供的属性和方法,而不关注对象本身,所以把代码块封装为一个类对象,不考虑代码块内部结构,只考虑它为我们提供的属性和方法,即为JavaScript中的面向对象编程 .
2.javascript的封装,继承,多态
Javascript中的函数就是对于功能的一种封装,函数包括普通函数和构造函数两类,构造函数是对象创建的基础。javascript中函数也是对象的一种。封装即将功能和属性封装为一个函数模块,供外部调用。继承是从已经存在的对象上,继承出新的对象。 多态表示在继承父级对象特性的基础上拥有不同的表现形式。 举例来说:数组也是一个对象,数组中的所有方法都是对象方法,数组中的属性和变量类似,只是属性是属于对象的变量。同样数组中的方法实质也是函数,只是属于对象。this决定这个方法属于哪个对象
3.javascript面向对象中的原型思想
原型可以类比于css中的class样式。 给一个对象单独加方法相当于css中的行间样式。 使用原型可以为一类对象添加属性和方法。
e.g:对象名.prototype.方法名=function()
4.同样原型相当于Java中的工厂类,工厂并不具有实际功能,只是为了构造对象。原型本身也不提供方法,而是通过原型new出的对象,具有原型中定义的方法。同样在javascript中的构造函数为new出的对象提供属性,所以一定意义上说javascript中构造函数即为工厂类.
在构造函数中添加属性,在原型中添加方法。可以解决工厂函数两个问题。因为属性每个对象都不同,是对象特有(类似行内样式),用构造函数来设置。但是方法对每个对象都一样的操作,所以用原型来添加。
e.g:
function Person(name,age){
this.name=name;
this.age=age;
}
Person.prototype.showName=function(){
};
**javascript中的面向对象的理解**
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 普通创建对象和字面量创建对象不足之处:虽然 Object 构造函数或对象字面量都可以用来创建单个对象,但这些方式有...
- 使用同一个接口创建很多对象,会产生大量的重复代码。为解决这个问题吗,人们开始使用工厂模式的一种变体。 工厂模式 工...