Javascript: Hướng dẫn dứt khoát (2011) có ví dụ này (tr.186) không hoạt động ở chế độ nghiêm ngặt nhưng không hiển thị cách thực hiện ở chế độ nghiêm ngặt - tôi có thể nghĩ về những điều cần thử nhưng tự hỏi về thực hành tốt nhất/bảo mật/hiệu suất - cách tốt nhất để thực hiện loại điều này ở chế độ nghiêm ngặt là gì? Đây là mã:Chế độ nghiêm ngặt: Thay thế cho arguments.callee.length?
// This function uses arguments.callee, so it won't work in strict mode.
function check(args) {
var actual = args.length; // The actual number of arguments
var expected = args.callee.length; // The expected number of arguments
if (actual !== expected) // Throw an exception if they differ.
throw Error("Expected " + expected + "args; got " + actual);
}
function f(x, y, z) {
check(arguments); // Check that the actual # of args matches expected #.
return x + y + z; // Now do the rest of the function normally.
}
lý do tại sao cộng đồng wiki mọi thứ – Raynos
@Raynos: Chỉ cần không quan tâm về điểm SO rep tôi đoán. Làm cho câu trả lời hấp dẫn hơn cho những người khác cũng muốn đóng góp. –