有两个问题,请教JavaScript高手啊?

1.JavascriptfunctionA和Bar定义好后,运行如下语句Bar.prototype=newA;varbar=newBar;此时barinstanceofB... 1.Javascript function A 和 Bar定义好后,运行如下语句
Bar.prototype = new A;
var bar = new Bar;
此时 bar instanceof Bar == true;
这时再运行一次,
Bar.prototype = new A;
请问此时 bar instanceof Bar 的值是true还是false, 为什么。
2.如下javascript代码
function next(x){
return function(){
return x+1;
};
}
var f = next(5);
alert(f());
请问此时应显示什么,为什么。
展开
 我来答
cainiaokan
2012-11-16 · TA获得超过2917个赞
知道小有建树答主
回答量:651
采纳率:66%
帮助的人:607万
展开全部
false,6
第一题是false,原因如下:
instanceof是跟原型链上的每一个原型对象做比较,只要有匹配相等的,就返回true
因为第二次重新new A,改变了之前的原型。因为第一次的new A跟第二次的new A不是同一个对象,比较不相等,所以返回false

第二题是6,原因如下:
next(5)在返回一个function的同时,也产生了一个闭包。
当这个函数执行时,函数中的x值为5.因此5+1是6
wsk5201407
2012-11-17 · 超过16用户采纳过TA的回答
知道答主
回答量:64
采纳率:0%
帮助的人:34.6万
展开全部
false 6楼上解释很详细。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
001创业者
2012-11-16 · TA获得超过504个赞
知道小有建树答主
回答量:435
采纳率:0%
帮助的人:283万
展开全部
false

6
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
度曲一味
2012-11-17
知道答主
回答量:5
采纳率:0%
帮助的人:7606
展开全部
false,6认同楼上解释,本人也受教了!谢谢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式