win
trỏ đến window
. NS
là một không gian tên tạm thời cho bài đăng này. Tôi nghĩ rằng nếu tôi muốn truy cập vào setTimeout
, tôi chỉ có thể sao chép trên các tài liệu tham khảo chức năng như vậy:Làm thế nào các tham chiếu hàm có thể được thực hiện đúng (1)?
NS.setTimeout = win.setTimeout;
Tuy nhiên, thực thi sẽ ném ra một lỗi:
NS_ERROR_XPC_BAD_OP_ON_WN_PROTO: Illegal operation on WrappedNative prototype object @ ...
Để khắc phục lỗi này, tôi chỉ đã làm:
NS.setTimeout = function (arg1, arg2) {
return win.setTimeout(arg1, arg2);
};
Tuy nhiên, tôi không biết tại sao điều này khắc phục được. Tôi không biết cơ chế ngôn ngữ nào đang gây ra hành vi này.
Bài tập của chính nó sẽ không gây ra lỗi như vậy. Tôi nghĩ câu hỏi của bạn là sai lạc. Bạn phải có nghĩa là ** gọi ** giá trị được chỉ định làm tăng lỗi. –
Tôi không hiểu. setTimeout() có sẵn trên toàn cầu, phải không? Tại sao làm tất cả điều này? – Paul
Đồng ý với @Paul: D – Sebas