这本来是一个老讨论了 http://www.iteye.com/topic/165475 可惜锁定了,回复不了
今天又想到弄这个事情,偶的记忆力很差,都忘了曾经讨论过这个事情,所以还是晕头转向了半个小时
后来JE上一搜,哦,原来讨论过
当再次看到笨笨狗的方法后,突然想到改造一下说不定就解决了
function Element(){
if(this instanceof arguments.callee){
console.log("new");
var obj={};
for(var a in this) obj[a]=this[a];
return obj;
}else{
console.log("normal");
}
//嘻嘻,测试吧
Element();
a = new Element;
a.Elements = Element;
a.Elements();
a = {b:{Elements:Element}}
a.b.Elements();
不知道还有其他问题没有,欢迎讨论
本文讨论了一个JavaScript构造函数的实现方式,通过改造原有的方法来解决一些问题,并提供了几个测试案例。
112

被折叠的 条评论
为什么被折叠?



