tôi đã chạy một chương trình để thay đổi một số phần của mã javascript của tôi khi nó nghe trộm trong việc kê khai của một var như một chức năng như thế này:Có lợi thế nào để xác định tên hàm trong "var new_function = function name() {};" trong javascript?
var some_function = function name(args){
//do stuff
};
Mã bản thân công trình, nhưng tôi đã tự hỏi nếu nó là ok để loại bỏ các "tên" cho tất cả các chức năng mà tôi tìm thấy như thế này (vì nó không phá vỡ nó trong vấn đề khác mà phân tích javascript của tôi) hoặc nếu nó có thể được sử dụng cho nó mà tôi không thể nhìn thấy.
loại bỏ các "tên":
var new_function = function(){/*do stuff*/};
Lưu ý: tập tin gốc mà nó lần đầu tiên xảy ra đó là trong jquery-1.6.4.js trong:
jQuerySub.fn.init = function init(selector, context) {
if (context && context instanceof jQuery && !(context instanceof jQuerySub)) {
context = jQuerySub(context);
}
return jQuery.fn.init.call(this, selector, context, rootjQuerySub);
};
ty cho bất kỳ sự giúp đỡ trước :)
Một bất lợi là biểu thức hàm có tên sẽ tạo ra hai chức năng trong IE afaik (hoặc một cái gì đó như thế). –
@FelixKling, đã thêm ghi chú về NFE. – CMS
Ty cho câu trả lời của bạn. Tôi cũng đã thử trong firefox 7.0.1 và nó nhận ra tên bên trong chức năng nhưng không ra khỏi nếu. – Seeker