var Bind = function(object, fun) {
return function() {
return fun.apply(object, arguments);
}
}var Each = function(list, fun){
for (var i = 0, len = list.length; i < len; i++) { fun(list[i], i); }
};
javascript 函数无名称,表示不舒服,用强类语言习惯了;1.请问那个fun.apply()是怎么会是?我在文档中没有发现 FUN这个函数?
2.请问该函数什么逻辑意思?
return function() {
return fun.apply(object, arguments);
}
}var Each = function(list, fun){
for (var i = 0, len = list.length; i < len; i++) { fun(list[i], i); }
};
javascript 函数无名称,表示不舒服,用强类语言习惯了;1.请问那个fun.apply()是怎么会是?我在文档中没有发现 FUN这个函数?
2.请问该函数什么逻辑意思?
NO.1 将方法“fun”绑定到对象“object”,并返回具有了方法“fun”的“object”。
such as:<script type=javascript>
var Bind = function(object, fun) {
return function() {
return fun.apply(object, arguments);
}
}var obj = {};
function fuc(x,y,z){
alert(x);
alert(y);
alert(z);
}
Bind(obj,fuc)(1,2,3);
</script>
NO.2 遍历数组列表“list”,并按照下标顺序将list元素和下标号一一对应作为参数循环调用方法“fun”进行样式设置、鼠标事件绑定等等你所需要的功能处理。看结构应该调用于document.getElementById("*")和document.getElementsByTagName("*")的场合多些。至于,你“用强类语言习惯了”、“我在文档中没有发现 FUN这个函数?”的提问,着实雷人,LOL。
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<script type=text/javascript>
var funX = function(x, y, z){
alert(x);
alert(y);
alert(z);
}
var funY = function(){
funX.apply(this, arguments)}
funY("就这样", "对象funX冒充了对象funY,或者说对象funY劫持了对象funX的方法", "这很简单的基础概念,您明白了吗?")
</script>