Tôi chỉ muốn JavaScript chạy một lần, nhưng Tôi không thể kiểm soát số lần tệp javascript được thực thi. Về cơ bản tôi đang viết một đoạn mã JS nhỏ vào một CMS, và CMS thực sự gọi nó là 5-10 lần. Vì vậy, các giải pháp như sau:Mã chạy Javascript một lần
function never_called_again(args) {
// do some stuff
never_called_again = function (new_args) {
// do nothing
}
}
never_called_again();
Dường như không hoạt động vì đoạn mã của tôi được chạy lại từ đầu hàm được khai báo lại và 'làm một số nội dung' được đánh giá lại. Có lẽ tôi không làm đúng, tôi không giỏi với JS. Tôi đang xem xét việc sử dụng một cái gì đó như try-catch trên một biến toàn cầu, một cái gì đó như
if (code_happened == undefined) {
\\ run code
code_happened = true;
}
EDIT: Có một trạng thái nhất quán, ví dụ: nếu tôi đặt một biến tôi có thể thấy khi đoạn mã của tôi chạy lại. Nhưng phải tuyên bố nó trước khi tôi truy cập vào nó, tôi không biết làm thế nào để nói 'hiện biến này tồn tại chưa'
"Tôi không biết làm thế nào để nói 'không biến này tồn tại chưa?'" - thường điều này được thực hiện với 'var foo = window.foo || {} ' – zzzzBov