var a = new A();和var a = {};A.call(a);一样吗? 我觉得var a = new A();和var a = {};A.call(a);是完全相同的。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 <html><head><script>function A(){ this.d=5; alert(5); }var a= new A();alert(a.d);var b={};A.call(b);alert(b.d);</script></head><body></body></html>测试了一下,应该是一样的 是一样的,一种是JSON的形式.一种是实例化的形式 不一样,如果函数没有prototype(其实每一个函数都有prototype,但是的默认的这个属性是一个空的对象),那么就是一样的,如果有,实际上new A()这种写法,除了执行函数A之外,还有给创建是实例添加prototype属性的属性。 不管是call还是apply都会丢弃对象的prototype属性或方法.所以是不一样的 对对 不一样a=new A() 会把A的prototype解开到a里面 不一样的var a new A();// 这种形式,a实例对象永远具有构造函数A的所有属性和方法但是像:var a = {};A.call(a);// 此处只是临时将context(上下文,这里就是构造函数中的this)“临时”指向对象a// 之后就a和A就一点关系也没有了 http://bbs.51js.com/viewthread.php?tid=77451看看 如何实现系统中第三方绑定如QQ绑定,微博绑定,并且如何解除绑定 关于jquery加载的一个问题 求正解! 穷死啦,卖身(散分)...... 如何把状态栏的文字显示到web窗口中? window.open打开文件出错,请问是什么原因,谢谢 如果把createElement的参数传递到另一个页面? 请问,一个页面或者一个form最多能submit多少个控件? 如何动态的拆分框架? 怎样做网页菜单?(100分)如解决还可在给。(请将源程序发至:[email protected])在线等候。 怎么把指定的行标红??? constructor 刷新页面究极问题~大神进
<html>
<head>
<script>
function A()
{
this.d=5;
alert(5);
}
var a= new A();
alert(a.d);
var b={};
A.call(b);
alert(b.d);
</script>
</head>
<body>
</body>
</html>测试了一下,应该是一样的
a=new A() 会把A的prototype解开到a里面
A.call(a);// 此处只是临时将context(上下文,这里就是构造函数中的this)“临时”指向对象a
// 之后就a和A就一点关系也没有了
看看