35、面向对象
来源:互联网 发布:网络电视怎么看直播啊 编辑:程序博客网 时间:2024/06/05 15:56
1、面向对象: 所有的程序执行都从对象出发
对象拥有属性和方法
1.所有的功能都从对象出发,已达到一个对象实现某种功能的效果2.面向对象支持扩展(继承)
面向过程: 流程式的写法
构造一个简单的对象(有属性、有方法)
var obj1 = new Object();
obj1.name = 'yangshun';
obj1.showName = function(){
alert( this.name );
};
var obj2 = new Object();
obj2.name = '脑残粉';
obj2.showName = function(){
alert( this.name );
};
2、构造函数过程解析(构造函数的函数名第一个字母默认大写)
工厂模式 // 原料 -> 加工 -> 出厂
function Person( name ){
var obj = new Object();
obj.name = name;
obj.showName = function(){
alert( this.name );
}
return obj;
};
var obj1 = Person( 'onmyway' );
var obj2 = Person( '左缺' );
obj2.showName();
在函数执行前面加上new:
1.函数内部自然会产生一个对象,this指向这个对象
2.函数默认返回产生的这个对象
function Person( name ){
//var obj = new Object();//直接省略,在函数执行前面加上new:.函数内部自然会产生一个对象,this指向这个对象
this.name = name;
this.showName = function(){
alert( this.name );
};
//return obj;//直接省略,在函数执行前面加上new:函数默认返回产生的这个对象
};
var obj1 = new Person( 'onmyway' );
var obj2 = new Person( '左缺' );
obj2.showName();
3、构造函数原型:节省空间,共用属性只用分配一个地址存储
/*
原型: prototype
只有构造函数有原型
原型的方法里面的this指向的是执行的时候的对象
在写面向对象的时候:
私有属性写在构造函数里面
公共属性写在prototype里面
*/
function Person( name ){
this.name = name;
};
Person.prototype.showName = function(){
alert( this.name );
};
var obj1 = new Person( 'onmyway' );
var obj2 = new Person( '左缺' );
alert( obj2.showName == obj1.showName )//true
4、方法链
//类似于$('#wrap').css({}).click().animate()
function Person(name , age){
this.name = name;
this.age = age;
};
Person.prototype.showName = function(){
console.log( this.name );
return this;//返回this,让函数执行完后变为对象,方便起后面再接上多个函数继续执行
};
Person.prototype.showAge = function(){
console.log( this.age );
return this;//返回this,让函数执行完后变为对象,方便起后面再接上多个函数继续执行
};
var p1 = new Person( '阿飞' , '27' );
p1.showName().showAge();
- 35、面向对象
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- csapp第二章学习笔记
- 【NOIP模拟】项链
- 《leetCode》:HIndex II
- OBIEE提示-不同维度关联
- Spring-8:SpEL入门
- 35、面向对象
- Rxjava基本用法
- hibernate缓存机制详细分析
- UEStudio中进行文件编码转换
- 求素数为什么到平方根就行了
- Big data and its developer fallout
- EXTERN C 关键字
- 验证码有几种?
- Spring事务配置的五种方式(转载)