function bind(obj, evname, fn) {
if (obj.addEventListener) {
obj.addEventListener(evname, fn, false);
} else {
obj.attachEvent('on' + evname, function() {
fn.call(obj);//问题0:此处的obj是替换非标准ie指代的window,
但是这个传参是这么传到function(){fn.call(obj);});函数里面的呢?这个函数明明没有function(没有传参){}的位置?
});
}
}
于是试验以下代码:
var num=111
var div01=document.getElementById("div01");
function bbb(){
var div01=new Object()
div01.aaa=function(){//问题1,此处的定义的aaa方法应该跟addEventListener/attachEvent一样的性质吧?
alert(num)
}
return div01
}
var div01=bbb()
div01.aaa()//问题2、aaa执行后能够弹出111,是否说明其实,一个元素的方法中的“变量”(不知该怎么表示)不仅可以在该元素的属性中拿值,还可以跳出该元素在script的全局中通过“作用域链”找变量的?</script>
</head>
<body>
<div id="div01"></div>
</body>
</html>
有问题0.1.2共三个小问题哦!
慕尼黑8549860
相关分类