猿问
回到首页
个人中心
反馈问题
注册登录
下载APP
首页
课程
实战
体系课
手记
专栏
慕课教程
js,使用函数过程中,写不写new的区别 ?
js,使用函数过程中,写不写new的区别
qq_遁去的一_1
浏览 629
回答 2
2回答
炎炎设计
new声明的是一个对象,而不是函数 而直接写函数,那就不是对象,是无法调用对象的属性的。如果不new,直接调用YourFunc,不做对象的初始化;如果new,先初始化一个对象,然后调用YourFunc作为初始化函数。初始化对象的时候,会把所有YourFunc.prototype的属性方法,copy一份给这个对象;意味着你在YourFunc里面如果调用this.a this.b this.c this.sayHello,都已经被初始化过一次了。
0
0
0
回首忆惘然
123456789101112131415161718function 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,都已经被初始化过
0
0
0
打开App,查看更多内容
随时随地看视频
慕课网APP
相关分类
C++
typedef入门问题
1 回答
继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续