Tôi có một khối mã JavaScript như dưới đây trong trang html của tôi. Khi tôi chạy điều này bằng cách tải trang. Tôi nhận được sản lượng dưới đây trên bảng điều khiển trình duyệt của mình."Loại lỗi không xác định: không xác định không phải là một hàm" trong khối mã JavaScript
outer world
Uncaught TypeError: undefined is not a function
Như bạn có thể thấy trong đoạn mã, tôi không thực hiện các hàm có tên b
bất cứ nơi nào trong các mã. Nhưng khi chạy mã, đầu ra từ hàm đó sẽ đến cùng với một số undefined is not a function error
mà tôi không thể tìm thấy ở bất kỳ vị trí nào trong khối mã của mình.
Để thêm nhiều hơn vào trường hợp này, không có nhật ký nào khi tôi xóa bất kỳ phần nào trong mã. đó là. Nếu tôi loại bỏ b khởi tạo từ mã sau đó không có lỗi và đầu ra. Ngoài ra nếu tôi loại bỏ khối chức năng tự thực thi, không có nhật ký hoặc lỗi nào. Đúng là dòng khởi tạo của b thiếu dấu chấm phẩy. nhưng những gì tempts nó để cung cấp như một đầu ra confuses tôi. Bạn sẽ giúp tôi ra để tìm ra một lý do cho hành vi này?
Bạn có thể vui lòng giúp tôi hiểu tại sao nó xảy ra như vậy không?
var b = function() {
console.log('outer world');
}
(function() {
})();
Cuối cùng, một ví dụ mà Javascript không tự động chèn dấu chấm phẩy ở đó có vẻ trực quan để thêm nó! – Barmar
Bất cứ điều gì bắt đầu bằng '(' hay '[' cần ';' trước đó. – kornieff
Vâng. Điều này giúp tôi hiểu kịch bản. Bạn sẽ mã hóa các liên kết mà Barmar cung cấp trong câu trả lời của Rickard Staaf. Nó giúp tôi hiểu nó hơn. – mithunsatheesh