javascript 对象初探--- 返回对象的函数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 对象初探--- 返回对象的函数的主要内容,如果未能解决你的问题,请参考以下文章

javascript 对象初探 --- call()和apply()初探

Javascript 面向对象编程初探--- 封装

javascript 对象初探 --- 传递/比较对象

JavaScript初探系列之日期对象

JavaScript初探系列之面向对象

javascript 对象初探 --- 内建对象Array