如果我有这样的功能:
function showAlert() {
alert("1");
}
有没有办法将其他功能绑定到页面不同部分的同一个功能?
像这样:
function showAlert() {
alert("1");
alert("2");
}
答案 0 :(得分:4)
您可以使用调用旧函数的新函数覆盖该函数。
function showAlert() {
alert("1");
}
showAlert = (function (original){
return function () {
original();
alert("2");
}
}(showAlert));
showAlert();
答案 1 :(得分:0)
好吧,你可以简单地重新定义这个功能:
function showAlert() {
alert("1");
}
var originalShowAlert = showAlert;
showAlert = function(){
originalShowAlert();
alert("2");
}
showAlert();
答案 2 :(得分:0)
由于函数被简单地视为JS中的对象,因此可以维护一个函数数组,然后在循环中执行每个函数。这允许您向集合中添加任何类型的函数(如果保留索引,甚至可以在以后删除它们),而不会破坏执行序列。
var funk = [];
funk.push(function showAlert1()
{
alert("1");
});
funk.push(function showAlert2()
{
alert("2");
});
funk.push(function showAlertFromMsg()
{
alert("You passed " + this);
});
for(var i=0,len=funk.length; i<len; i++) funk[i].call("This is my message");