Tôi đã xem xét một số các console.log()
wrappers/polyfills phổ biến:Tại sao console.log() polyfills không sử dụng Function.apply()?
Tôi nhận thấy rằng tất cả trong số họ chấp nhận nhiều arguments
, nhưng họ tất cả làm một việc như sau:
console.log(arguments);
nào dẫn đến đầu ra như thế này (trong Chrome):
Trong khi đó, ít nhất là trong một trình duyệt hiện đại như Chrome hoặc Firefox, console.log()
cũng chấp nhận nhiều đối số, do đó điều này sẽ tạo ra (IMHO) sản lượng vượt trội:
console.log.apply(console, arguments)
nào dẫn đến đầu ra như thế này (trong Chrome):
Có lý do cụ thể nào khiến tôi nên tránh sử dụng console.log.apply()
với nhiều đối số không? Hoặc điều này chỉ là vấn đề của hương vị hoặc tiết kiệm byte?
@PaulIrish Bất kỳ suy nghĩ nào về console.log và console.log.apply? –
Đây có lẽ không phải là lý do chính, nhưng thuộc tính console.log trong IE không có nguyên mẫu Hàm. Tức là, nó không có hàm 'apply'. – Sam
Vâng, đó có lẽ là một lý do rất tốt. –