Tại sao Underscore.js có chức năng trễ?
Vì câm. Phương thức underscore.js đặc biệt này có vẻ khá ngu ngốc.
Nhược điểm
- chức năng bổ sung trong lib nghĩa cơ sở mã lớn
- lớn mã cơ sở nghĩa hơn để duy trì và nhiều lỗi có thể
- mã có sử dụng chức năng này bây giờ có một sự phụ thuộc vào lib mà
- cải thiện ít hơn/nil so với API gốc có nghĩa là chi phí thấp: tỷ lệ đạt được
- apis mới để tìm hiểu
Ưu
phần này cố tình để trống
tôi sẽ chỉ học cách sử dụng javascript và làm điều gì đó như
var hello = function() {
console.log("hello");
};
var delay = 1000;
window.setTimeout(hello, delay);
Đơn giản, phải không? Underscore.js đôi khi khá vô dụng. Thành thật mà nói, window.setTimeout
là hoàn toàn hữu ích chỉ là cách nó được.
Dưới đây là một ví dụ khác cho thấy làm thế nào để vượt qua một arg đến chức năng
var Cat = function(name) {
function meow(message) {
console.log(name, "says meow!", message);
}
this.meow = meow;
};
var duchess = new Cat("Duchess");
window.setTimeout(duchess.meow.bind(duchess, "please feed me!"), 2000);
// 2 seconds later
// => Duchess says meow! please feed me!
Nếu bạn không thể phụ thuộc vào .bind
bạn có thể sử dụng một kết thúc quá
window.setTimeout(function() {
duchess.meow("please feed me!");
}, 1000);
Wow, đó là khó khăn, mặc dù. Tôi sẽ trở lại để nhấn mạnh và lodash và jquery. Công cụ JavaScript này rất khó!
Internet Explorer không hỗ trợ [đối số gọi lại] (https://developer.mozilla.org/en-US/docs/Web/API/window.setTimeout#Callback_arguments). Thật là một b ****! –
@ Alex — nó không hỗ trợ truyền chuỗi ký tự như tham số đầu tiên, vì vậy không phải * mà * qua trình duyệt. Có lẽ đó là đề cập trong tài liệu ... – RobG
@RobG Vâng, tôi không nghĩ rằng đó là một tính năng chúng tôi muốn giữ :) – alex