![](/img/trans.png)
[英]Create instances of a variable in Javascript and access variable within an anonymous function
[英]Anonymous Javascript function or store within a variable?
調用javascript函數有多種方法,大多數情況下,我使用匿名函數,因為它可以在我喜歡的任何地方觸發。
我似乎無法理解為什么使用變量方法而不是匿名函數。 對我來說主要的缺點是由於起重問題。
任何人都可以解釋或提供一個真實的例子,何時將函數存儲在變量中?
如果要在多個位置使用同一函數,則將其存儲在變量中是有意義的。 這使您可以遵守DRY(請勿重復自己)原則。
假設我們有一個簡單的驗證功能:
function isPositive(val){
return val > 0;
}
與其在需要驗證的任何地方都內聯此匿名函數,不如將函數存儲在變量中以備將來使用,這要容易得多。
var isPositive = function(val){ return val > 0;}
這為我提供了兩個主要好處。 首先,如果isPositive
存在問題,我可以一處解決該問題,並且該函數的所有調用都將使用更新后的行為。 其次,它可以防止我在第100次重新鍵入代碼時將函數弄亂到代碼中的某個位置。
如果在變量中,則可以隨時隨地從任意位置訪問該函數。
如果要執行相同的操作,請在多個位置進行。 像這樣:
var renderPage = function() {
// about 20 lines of render code
}
$(window).on('resize', renderPage);
$('.my_btn').on('click', renderPage);
// render to initialize page
renderPage();
在這里不使用變量會很快變成一團糟:
$(window).on('resize', function() {
// about 20 lines of render code
));
$('.my_btn').on('click', function() {
// about 20 lines of render code
));
// about 20 lines of render code
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.