Tôi nhận thấy một điều kỳ lạ trong javascript. Hãy xem xét bên dưới:Ngữ cảnh chức năng JavaScript Không chính xác
var fn = ''.toUpperCase.call
console.log(typeof fn); // "function"
fn(); // Uncaught TypeError: `fn` is not a function
Ở trên đã được thực hiện trên Bảng điều khiển dành cho nhà phát triển của Chrome. Phiên bản là 43.0.2357.81 m
.
Toán tử typeof
cho thấy rõ ràng rằng fn
là một hàm, nhưng lỗi đề xuất khác.
Tôi nhận thấy rằng Function.apply
hiển thị ít nhất một số thông báo lỗi có ý nghĩa.
Vì vậy, khi nào là hàm, không phải là hàm?
Hãy thể hiện * cách * chính xác bạn đang gọi điện thoại 'fn'. – deceze
Tôi nhận được 'undefined không phải là một hàm' khi gọi' fn', * not * 'fn không phải là một hàm'. – Darkhogg
@ lừa dối đây không phải là một mã sản xuất .. Tôi chỉ tình cờ nhìn thấy một câu hỏi, suy nghĩ về điều đó, tôi bắt gặp những thứ kì lạ này. –