当前位置 :
isnotaconstructor正在学js,对面向对象的思维还是有问题,先写了段js运行的时候是ok的[*]functiontest(){[*]functionaaa(){[*]return'*aaa*';[*]}[*][*]return{[*]a:aaa,[*]b:'bbb',[*]c:'ccc'[*]}[*]};[*][*]vart
更新时间: 2025-08-28 23:39:15
1人问答
问题描述:

isnotaconstructor

正在学js,对面向对象的思维还是有问题,先写了段js运行的时候是ok的[*]functiontest(){[*]functionaaa(){[*]return'*aaa*';[*]}[*][*]return{[*]a:aaa,[*]b:'bbb',[*]c:'ccc'[*]}[*]};[*][*]vart=newtest();alert(t.a());这是修改后js[*]vartest=(function(){[*]functionaaa(){[*]return'*aaa*';[*]}[*][*]return{[*]a:aaa,[*]b:'bbb',[*]c:'ccc'[*]}[*]})();[*][*]vart=newtest();alert(t.a());但是会报错FireBug提示testisnotaconstructor

马溪骏回答:
  回复1#看你的意思是想用个闭包来返回一个函数再创建对象但你这个肯定会报*isnotaconstruct因为你这个闭包并没有返回一个函数,而只返回了一个包含函数的一个对象,你去new的只是个对象实例,而不是函数.所以会报这个错误你现在这样的写法,相当于是vara=newObject();varb=newa();b不能通过a这个对象实例再new出一个对象来.new只能针对Function,也就是js中类的概念例如你不能对一个数组对象再new出一个数组对象来.vara=[1,2,3];varb=newa();而真想要用new只能是varb=newArray();查看原帖>>
最新更新
保卡通(baokatong.com)汇总了汉语字典,新华字典,成语字典,组词,词语,在线查字典,中文字典,英汉字典,在线字典,康熙字典等等,是学生查询学习资料的好帮手,是老师教学的好助手。
声明:本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
Copyright©2009-2021 保卡通 baokatong.com 版权所有