如果我有這樣的功能:可以將附加功能綁定到某個功能嗎?
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