2011-12-29 29 views
5

tôi đang học JavaScript và Tôi hiện đang cố gắng tìm ra lý do tại sao (tại Spidermonkey)áp dụng hàm trong JavaScript

[].concat.apply([1], [[2]]) 

lợi nhuận dự kiến ​​[1, 2], nhưng

Array.concat.apply([1], [[2]]) 

lợi nhuận [2] thay vì [1, 2].

Ai đó có thể cung cấp giải thích đúng không?

+1

'Array.prototype.concat.apply ([1], [[2]])' trả lại là gì? – Pointy

+1

Bạn đang sử dụng trình duyệt nào? 'Array.concat' không tồn tại trong Chrome. –

+0

Firefox có một "concat()" trên mẫu nguyên mẫu Array (nhưng không phải trên đối tượng hàm tạo mảng). – Pointy

Trả lời

8

[].concatArray.prototype.concat.

Array.concat là một phương pháp tĩnh chỉ dành cho Firefox nối ​​một hoặc nhiều mảng và bỏ qua đối số this của nó.

+1

Đây phải là câu trả lời nhưng tò mò MDN không ghi lại phương thức đó :-) – Pointy

+0

Có; Tôi nhận thấy ... – SLaks

+0

Kiểu nào được ưu tiên hơn, '[] .concat' hoặc' Array.prototype.concat'? – eljenso

Các vấn đề liên quan