JS高级. 02 面向对象、创建对象、构造函数、自定义构造函数、原型
2021-05-23 14:31
标签:key code asc 函数返回 子类 变量 资源 查找 定义 面向对象的三大特性: a) 把一些属性和方法装到一个对象里 2. 继承 a) js中的继承是指: b) 混入式继承 for … in 1. 父类的属性和方法在所有之类 3. 多态 a) JS中没有相应的体现 b) 在强类型语言比较常见 c) 实用父类的变量接受子类的对象 d) 父类的属性方法供所有的子类共享 1. 创建对象 四种方法: 1、字面量创建 用一个创建一个,不能复用。会造成代码亢余,资源浪费 2、内置构造函数创建对象 1、内置构造函数创建对象 1. var p = new Object(); 2.var arr = new Array(); 3. 创建出来的对象都是空对象,要手动添加属性,造成代码重复 3、 封装简单的工厂函数(不推荐) 4、 自定义构造函数 在JavaScript中,构造函数是给对象添加属性,初始化属性用的。 以上面这个p对象创建为例: 首先使用new关键字创建对象,类似于使用 使用构造函数为其初始化成员 在构造函数中,利用对象的动态特性,为对象添加成员 自定义构造函数 function Porple(data1,data2){ this.xx = data; } a) 返回值类型如果不是Object类型的都还返回创建的对象 b) 如果是Object类型的就返回object a) 对象字面量{},创建对象 b) 自定义构造函数,创建对象 c) 构造函数的执行过程 a) 返回undefined和null都是返回新对象 对象成员:属性和方法 a) 构造函数.prototype 2. 构造函数.prototype.新属性 = 属性值 3. 自己和原型中都有的属性,优先用自己的 3. 创建一个对象叫做实例化对象 a) 通过构造函数创建对象创建对象的过程 4. 实例 a) 通过构造函数实例化出来的对象就是该构造函数的一个实例 5. 原型的实用方法: a) 利用对象的动态特性给原型对象添加属性 6. 直接替换原型对象 Porple.prototype = { name : ‘Jack’, } a) 直接替换原型对象出现的问题 b) 点语法进行属性赋值的时候,不会去原型查找 c) 使用点语法赋值的时候,如果对象中不存在该属性,就会对该对象新增属性,不会去原型中查找 d) 如果原型总分的属性是引用类型的属性,那么所有的对象共享该属性,并且一个对象修改了该引用 类型中的成员,所有对象都会被修改 e) 一般不会把属性放置到原型中 7. 通过构造函数访问原型 a) 构造函数.prototype 8. 通过对象访问原型 a) 对象.__proto__ //不推荐使用 9. constructor:原型对象的属性 JS高级. 02 面向对象、创建对象、构造函数、自定义构造函数、原型 标签:key code asc 函数返回 子类 变量 资源 查找 定义 原文地址:http://www.cnblogs.com/mingm/p/7684428.html
创建对象的方式
function creatObj(name, age){
var obj = {
boj : name;
obj: age;
sayHello : function(){
console.log(‘‘);
}
}
return obj;
}
function Porple(data1,data2){
this.xx = data;
}
构造函数是干什么用的?
对象的创建过程
var p = new Person();
{}
,这个时候创建出来的对象是一个"没有任何成员"的对象。这里需要注意两点:
new
关键字创建的对象,对象的类型就是创建这个对象使用的构造函数的函数名{}
创建对象,对象的类型一定是Object
,相当于使用了new Object()
this = 刚创建出来的对象
this
就代表刚创建出来的对象
原型、
文章标题:JS高级. 02 面向对象、创建对象、构造函数、自定义构造函数、原型
文章链接:http://soscw.com/index.php/essay/88263.html