这里的内容没有太多深入的东西,更深的理解请看秘 密花园, 在javascript中创建对象的各种模式 。
Javascript在HTML中变得越来越强大,富客户端,HTML5中的WebGL等。但是我们书写Javascript的时候往往很随意,使用对象的封装是极好的。这里介绍Javascipt三种创建对象的方法。
使用关键字new创建对象
function Person(name, age) { this.name = name; this.age = age; } var p = new Person(); // 也可填充初始化属性,如new Person("lingceng", 22)
使用Object直接创建对象
可以看出,这种方法扩展很方便。
var obj = new Object(); // 这里也可写成 var = {}; obj.name = "lingceng"; obj.age = 22;
使用JSON创建(对象字面量的说法更准确,但JSON更好理解)
从Javascript1.2开始,创建对象有了更快捷的方式。
var p = { name: "lingceng", // "name":"lingceng这样加引号解析方式相同 gender: "male" };
实践方式
结合构造函数和原型模式创建对象的方式很适合实践。
function Person(name,age) { // 实例属性 // 实例时多份拷贝 this.name=name; this.age=age; } Person.prototype={ // http://developer.51cto.com/art/200907/134913.htm //constructor属性始终指向创建当前对象的构造函数 // 因为原型被替换,所以需要恢复construtor的默认指向 constructor: Person, showName:function(){ alert("ShowName in prototype:"+this.name); }, showAge:function(){ alert(this.age); } } var p = new Person("lingceng", 22); p.showAge(); // 22