如果我有这样的功能:可以将附加功能绑定到某个功能吗?
function showAlert() {
alert("1");
}
有没有在页面的不同部分结合的额外功能,相同功能的方法吗?
像这样:
function showAlert() {
alert("1");
alert("2");
}
如果我有这样的功能:可以将附加功能绑定到某个功能吗?
function showAlert() {
alert("1");
}
有没有在页面的不同部分结合的额外功能,相同功能的方法吗?
像这样:
function showAlert() {
alert("1");
alert("2");
}
您可以调用旧功能的新功能覆盖功能。
function showAlert() {
alert("1");
}
showAlert = (function (original){
return function() {
original();
alert("2");
}
}(showAlert));
showAlert();
...并且您甚至不必为第一个版本使用'var showAlert = function()',对。 ) 好一个。 – raina77ow 2012-07-09 12:36:18
那么,可以简单地重新定义函数:
function showAlert() {
alert("1");
}
var originalShowAlert = showAlert;
showAlert = function(){
originalShowAlert();
alert("2");
}
showAlert();
由于功能被简单地视为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");
可能重复:http://stackoverflow.com/questions/296667/overriding-a-javascript-function-while-referencing-the-original – Adi 2012-07-09 12:30:11
你为什么要这么做?这会使代码无法阅读! – 2012-07-09 12:30:14
相同功能的附加功能,例如“关闭模式”功能。而不是绑定到调用该函数的相同元素。 – 2012-07-09 12:31:33