首页 > 代码库 > javascript 对象初探(二)--- 返回对象的函数

javascript 对象初探(二)--- 返回对象的函数

了使用new操作符调用构造函数以外,我们也可以抛开new操作符,只用一般函数来创建对象,这样就能执行某些预备工作,并已对象为返回值的函数。、

function her(){    return {        name : ‘Jon‘    };}

然后我们调用her()来生成对象:

var a = her();a.name; // Jon
console.log(a.constructor);
// function Object(){}

 

实际上构造函数也是可以返回对象的,只不过this的值使用上将会有所不同。

function Her(){   this.name = ‘Jon‘;   return {       sex : ‘nv‘    }}var she = new Her();she.name;  // undefined;she.sex; // ‘nv‘

 

在这里,构造其函数不是返回包含属性name的this对象,而是返回包含属性sex的独立对象。但这也是在返回值是一个对象的前提下,如是一个非对象,照常会返回this.

关于对象是如何在构造函数内部被创建出来的,你可以这样理解:

function Her(){   // var this = {};    this.name = ‘Jon‘;   // return this;}

 

javascript 对象初探(二)--- 返回对象的函数