两道Javascript面试题


//实现点击第i个div时仅alert该div对应的i值;
var divs = document.getElementsByTagName("div");
for(var i=0;i<divs.length;i++){
divs[i].onclick =(function(i){
return function(e){
alert(i);
window.event ? window.event.cancelBubble = true : e.stopPropagation();
}
})(i)
}
//考察this绑定。
function test(){
this.msg = "hi";
msg ="hello";
this.test = function(){
this.msg = "yaya";
msg = "haha"
alert(this.msg);
}
return this;
}
new test().test(); //yaya
test().test();//haha


2009-6-26日更新:今天偶然看到第一题另外的解法,确实不错:[url]http://xkr.us/js/closures[/url]

function setListeners(elements) {
for (var i=0;i<elements.length;i++) {
elements[i].idx=i;
elements[i].onclick=function () { alert(this.idx); };
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值