js,使用函数过程中,写不写new的区别
2 回答
回首忆惘然
TA贡献1847条经验 获得超11个赞
123456789101112131415161718 | function YourFunc(){ // beginning of YourFunc'code if ( this instanceof YourFunc){ document.title = "You called [YourFunc] as Class's constructor" ; this .sayHello(); } else { document.title = "You called [YourFunc] as just a Function" ; } // ending of YourFunc's code } YourFunc.prototype={ a : 0, b : [], c :{} }; YourFunc.prototype.sayHello= function (){ document.title = "hello" + document.title; }; |
区别是如果不new,直接调用YourFunc,不做对象的初始化;
如果new,先初始化一个对象,然后调用YourFunc作为初始化函数。
初始化对象的时候,会把所有YourFunc.prototype的属性方法,copy一份给这个对象;意味着你在YourFunc里面如果调用this.a this.b this.c this.sayHello,都已经被初始化过
- 2 回答
- 0 关注
- 628 浏览
添加回答
举报
0/150
提交
取消