JS对象理解

原创 molongv 随笔 JS 183阅读 2018-01-10 10:32:48 举报

一、对象的创立
A 低阶层次理解,就常见3种;(new关键字、字面量、构造函数)
1、var obj=new Object();;
2、var obj={ ... };
3、function Parent(){
this.name=name;
...
}
var obj=new Parent();

B 高阶层次理解,5种;(工厂方式 、构造函数方式 、原型模式 、混合的构造函数,原型方式(推荐) 、动态原型方式 )
1、工厂方式
javascript 代码

说明:
1.在函数中定义对象,并定义对象的各种属性,,虽然属性可以为方法,但是建议将属性为方法的属性定义到函数之外,这样可以避免重复创建该方法
2.引用该对象的时候,这里使用的是 var x = Parent()而不是 var x = new Parent();因为后者会可能出现很多问题(前者也成为工厂经典方式,后者称之为混合工厂方式),不推荐使用new的方式使用该对象
3.在函数的最后返回该对象
4.不推荐使用这种方式创建对象,但应该了解

2、构造函数方式
javascript 代码

说明:
1.与工厂方式相比,使用构造函数方式创建对象,无需再函数内部重建创建对象,而使用this指代,并而函数无需明确return
2.同工厂模式一样,虽然属性的值可以为方法,扔建议将该方法定义在函数之外
3..同样的,不推荐使用这种方式创建对象,但仍需要了解

3、原型模式
javascript 代码

说明:
1.函数中不对属性进行定义
2.利用prototype属性对属性进行定义
3.同样的,不推荐使用这样方式创建对象

4、混合的构造函数,原型方式(推荐)
javascript 代码

说明:1.该模式是指混合搭配使用构造函数方式和原型方式
2.将所有属性不是方法的属性定义在函数中(构造函数方式)
将所有属性值为方法的属性利用prototype在函数之外定义(原型方式)
3.推荐使用这样方式创建对象,这样做有好处和为什么不单独使用构造函数方式和原型方式,由于篇幅问题这里不予讨论

5、动态原型方式
javascript 代码

说明:
1.动态原型方式可以理解为混合构造函数,原型方式的一个特例
2.该模式中,属性为方法的属性直接在函数中进行了定义,但是因为
javascript 代码

从而保证创建该对象的实例时,属性的方法不会被重复创建
3.,推荐使用这种模式

二、对象生命周期
1、初始化
对象以及其属性和方法,进行字面量声明;

2、实例化
new 出实例,可以开始使用;

3、销毁
如该对象没有再被声明和使用,便自行销毁。

三、常用的内置对象
1、 Global
2、 Math
3、 Date
4、 Function
5、 Object
6、 Array
7、 Boolean
8、 String
9、 Number
10、RegExp
11、Error
1)SyntaxError: 语法错误
2)ReferenceError: 引用错误 要用的东西没找到
3)RangeError: 范围错误 专指参数超范围
4)TypeError: 类型错误 错误的调用了对象的方法
5)EvalError: eval()方法错误的使用
6)URIError: url地址错误

评论 ( 1 )
最新评论
czp704571044 2018-01-11 11:25:38 1F

默默的掏出一句话 js万物都是对象