标签:
javascript构造函数和普通函数的区别是什么:
在 JavaScript 中,构造器其实就是一个普通的函数。当使用 new 操作符 来作用这个函数时,它就可以被称为构造方法(构造函数)。
我的理解:构造函数 就是 类了。 构造函数的 原型 可 扩展 实例化 后 的 方法。 构造函数只有在被new
操作符调用的时候才能称之为构造函数。其它时候,它就是一个普通函数。这样构造函数的特殊性还不如说是 new 操作符的 作用 —— 创建对象,并返回对象本身。
通过构造函数 创建的 对象 与 普通的 var object = {} 应该是没区别的吧。
var prince=new Prince("charming",25);
this
关键字this
指向的是构造出的新对象。用this
定义的变量或函数/方法,就是实例变量或实例函数/方法。需要用实例才能访问到,不能用类型名访问。 prince.age;//25 Prince.age;//undefinedthis
,也就是新的实例对象。当然,也可以用return语句,返回值会根据return值的类型而有所不同,细节将在下文介绍。以上文中的Prince()函数举个栗子:
var prince={}
构造函数里没有显式调用return时,默认是返回this对象(这个时候,必须要 使用new
关键字来调用吧),也就是新创建的实例对象。 当构造函数里调用return时,分两种情况:
return
的是五种简单数据类型:String,Number,Boolean,Null,Undefined。 这种情况下,忽视return
值,依然返回this
对象。
return
的是Object 这种情况下,不再返回this对象,而是返回return语句的返回值。
function Person(name){ this.name=name; return {name:"cherry"} } var person=new Person("sheila"); person.name;//cherry person;//Object {name: "cherry"}
标签:
原文地址:http://www.cnblogs.com/shayueblog/p/5813230.html