<body>
<div id='obj' style="height:200px; width:200px; background-color:#000000">
</div>
<script>
var $ =function(id){return document.getElementById(id)};
var Bind = function(object, fun) {
return function() {
return fun.apply(object, arguments);
}
}
function addListener(element,e,fn){ element.addEventListener?element.addEventListener(e,fn,false):element.attachEvent("on" + e,fn)};
addListener($('obj'),'click',Bind(this,ale,[1,2,3])) //这里想传递 1,2,3这3个参数 在ale里面alert出来形式是1==2==3 应该怎么写
function ale(a){
}
</script>
</body>
<div id='obj' style="height:200px; width:200px; background-color:#000000">
</div>
<script>
var $ =function(id){return document.getElementById(id)};
var Bind = function(object, fun) {
return function() {
return fun.apply(object, arguments);
}
}
function addListener(element,e,fn){ element.addEventListener?element.addEventListener(e,fn,false):element.attachEvent("on" + e,fn)};
addListener($('obj'),'click',Bind(this,ale,[1,2,3])) //这里想传递 1,2,3这3个参数 在ale里面alert出来形式是1==2==3 应该怎么写
function ale(a){
}
</script>
</body>
我想知道在接受参数的时候是怎么写的!~
function ale(a,b,c)
{
alert(a+'=='+'=='+'c')
}
就不是1==2==3
// 改成这样就行了
var Bind = function(object, fun,args) {
return function() {
return fun.apply(object, args||[]);
}
}
return function() {
return fun.apply(object, arguments);
}
}
函数里面不是用的apply吗??
apply接受参数的时候不是接收的数组吗??
var Bind = function(object, fun) {
return function() {
return fun.apply(object, arguments); // 此时 arguments匿名函数的参数,就算是上面的,参数也传多了啊object和fun就不要传了
}
}