Tại sao tôi gặp lỗi khi sử dụng arguments
như thế này?Đối tượng không có phương pháp 'giảm' lỗi khi sử dụng đối số trong node.js?
function sum(){
return arguments.reduce(function(a,b){
console.log(a+b)
return a+b;
},0);
}
sum(1,2,3,4);
lỗi:
/Users/bob/Documents/Code/Node/hello.js:2
return arguments.reduce(function(a,b){
^
TypeError: Object #<Object> has no method 'reduce'
at sum (/Users/bob/Documents/Code/Node/hello.js:2:19)
at Object.<anonymous> (/Users/bob/Documents/Code/Node/hello.js:8:1)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Function.Module.runMain (module.js:497:10)
at startup (node.js:119:16)
at node.js:903:3
Đây là từ ông Crockford JS lectures.
Sự khác biệt giữa mảng và đối tượng "giống mảng" là gì? –
@AndersonGreen One thừa hưởng nguyên mẫu của nó từ 'Mảng', bao gồm các tính năng như' giảm'. Những người khác thì không, nhưng vẫn có các chỉ số số, làm cho chúng giống với các mảng. –
@AndersonGreen: Kiểm tra chỉnh sửa của tôi, có một số thông tin hữu ích tại MDN, cuộn cho đến khi bạn tìm thấy tiêu đề "giống mảng". – elclanrs