码迷,mamicode.com
首页 > Web开发 > 详细

js创建对象的两种方法:文本标识法和构造器函数法

时间:2015-06-25 17:04:07      阅读:148      评论:0      收藏:0      [点我收藏+]

标签:

文本标识法和定义变量差不多,像这样

var obj = {name:‘HanMM‘,‘2‘:‘Dali‘}; 

  

函数构造器法 

先创建一个对象函数 

function Obj() {

this.address=‘New York‘ ,

        this.sayHello = function (){

return this.address; 

        } 

然后用new关键字来穿件具体的对象

 var obj001 = new Obj();

 

然后我们就可以调用对象了 

obj.name//  HanMM

 obj[‘2‘]//Dali

obj.sayHello();//New York 

 

 而如果,我们在使用构造器函数创建对象的时候忘了使用new关键字的话,像这样 var obj002=Obj();去实例化的话,其实和声明函数没有区别,由于该函数没有显式返回值,那么返回值为undefined,我们只是创建了一个函数,而非对象的实例。

当我们想访问其中的某个属性时得到的结果也只能是 Uncaught TypeError: Cannot read property ‘address‘ of undefined

 

 constructor property 构造器属性,其实就是一个指向于一个用于创建该对象的构造器函数的引用;

 也就是说function TomG(){}; var obj004= new TomG();

 obj004.constructor;// ==>> function TomG();

而如果使用文本标识法创建的对象var tomG = {};

 tomG.constructor 相当于使用js内置构造器Objet()函数创建的,故 tomG.constructor; // ==>> function Object();

 

js创建对象的两种方法:文本标识法和构造器函数法

标签:

原文地址:http://www.cnblogs.com/Aladingding/p/4600265.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!