你的位置:首页 > Java教程

[Java教程]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;}