Câu trả lời đã được đưa ra, nhưng tôi chỉ muốn tặng miếng bánh của mình. Những gì bạn muốn đạt được được gọi là
function hash[] {
return arguments.join[];
}
hash[1,2,4,..]; // Error: arguments.join is not a function
2 trong bối cảnh của JS, rằng khi chúng ta lấy một phương thức từ một đối tượng và gọi nó trong bối cảnh của một đối tượng khác. Nó là khá phổ biến để lấy các phương thức mảng và áp dụng chúng vào các đối số. Tôi sẽ cho bạn một ví dụ.Vì vậy, chúng tôi có hàm băm "siêu" lấy hai số làm đối số và trả về chuỗi băm "siêu an toàn":
function hash[] {
return arguments[0]+','+arguments[1];
}
hash[1,2]; // "1,2" whoaa
Cho đến nay rất tốt, nhưng chúng tôi có rất ít vấn đề với phương pháp trên, nó bị hạn chế, chỉ hoạt động với hai số, không phải là động, hãy làm cho nó hoạt động với bất kỳ số nào và cộng với bạn không phải vượt qua một mảng [bạn có thể Nếu bạn vẫn khăng khăng]. OK, đủ nói, hãy chiến đấu!
Giải pháp tự nhiên sẽ là sử dụng phương pháp
function hash[] {
return arguments.join[];
}
hash[1,2,4,..]; // Error: arguments.join is not a function
3:function hash[] {
return arguments.join[];
}
hash[1,2,4,..]; // Error: arguments.join is not a function
Trời ơi. Thật không may, điều đó đã giành được công việc. Bởi vì chúng tôi đang gọi băm [đối số] và đối tượng đối số vừa được lặp lại và giống như mảng, nhưng không phải là một mảng thực sự. Làm thế nào về cách tiếp cận dưới đây?
function hash[] {
return [].join.call[arguments];
}
hash[1,2,3,4]; // "1,2,3,4" whoaa
Bí quyết được gọi là
function hash[] {
return arguments.join[];
}
hash[1,2,4,..]; // Error: arguments.join is not a function
4Chúng tôi mượn một phương thức
function hash[] {
return arguments.join[];
}
hash[1,2,4,..]; // Error: arguments.join is not a function
5 từ một mảng thông thường function hash[] {
return arguments.join[];
}
hash[1,2,4,..]; // Error: arguments.join is not a function
6 và sử dụng function hash[] {
return arguments.join[];
}
hash[1,2,4,..]; // Error: arguments.join is not a function
7 để chạy nó trong bối cảnh của function hash[] {
return arguments.join[];
}
hash[1,2,4,..]; // Error: arguments.join is not a function
8.Tại sao nó hoạt động?
Điều đó bởi vì thuật toán nội bộ của phương pháp gốc
function hash[] {
return arguments.join[];
}
hash[1,2,4,..]; // Error: arguments.join is not a function
9 rất đơn giản.Được lấy từ đặc điểm kỹ thuật gần như là as-is ”:
Let glue be the first argument or, if no arguments, then a comma ",".
Let result be an empty string.
Append this[0] to result.
Append glue and this[1].
Append glue and this[2].
…Do so until this.length items are glued.
Return result.
Vì vậy, về mặt kỹ thuật, nó có điều này và tham gia vào điều này [0], điều này [1], vv cùng nhau. Nó có chủ ý được viết theo cách cho phép bất kỳ mảng nào giống như điều này [không phải là sự trùng hợp ngẫu nhiên, nhiều phương pháp tuân theo thực tiễn này]. Đó là lý do tại sao nó cũng hoạt động với
function hash[] {
return [].join.call[arguments];
}
hash[1,2,3,4]; // "1,2,3,4" whoaa
0 Làm thế nào để bạn chuyển một mảng cho một chức năng? Hướng dẫn này nhằm mục đích dạy cho bạn các cách khác nhau để chuyển một mảng cho một hàm bằng JavaScript. Nó làm nổi bật phương thức
1 để chuyển một mảng cho một hàm trong javascriptfunction hash[] {
return [].join.call[arguments];
}
hash[1,2,3,4]; // "1,2,3,4" whoaa
2 để chuyển một mảng cho một hàm trong JavaScriptfunction hash[] {
return [].join.call[arguments];
}
hash[1,2,3,4]; // "1,2,3,4" whoaa
8 để chuyển một mảng cho một hàm trong javascriptfunction hash[] {
return arguments.join[];
}
hash[1,2,4,..]; // Error: arguments.join is not a function
1, toán tử function hash[] {
return [].join.call[arguments];
}
hash[1,2,3,4]; // "1,2,3,4" whoaa
2, đối tượng function hash[] {
return [].join.call[arguments];
}
hash[1,2,3,4]; // "1,2,3,4" whoaa
8 và cách truyền toàn bộ mảng đến một hàm dưới dạng tham số.function hash[] {
return arguments.join[];
}
hash[1,2,4,..]; // Error: arguments.join is not a function
Phương thức
function hash[] {
return [].join.call[arguments];
}
hash[1,2,3,4]; // "1,2,3,4" whoaa
1 thực thi một hàm có giá trị function hash[] {
return [].join.call[arguments];
}
hash[1,2,3,4]; // "1,2,3,4" whoaa
8 và đưa ra các đối số dưới dạng một mảng hoặc đối tượng giống như mảng. Nó được sử dụng trên một chức năng cụ thể phải được thông qua.Trong phương thức
function hash[] {
return [].join.call[arguments];
}
hash[1,2,3,4]; // "1,2,3,4" whoaa
1, giá trị function hash[] {
return [].join.call[arguments];
}
hash[1,2,3,4]; // "1,2,3,4" whoaa
8 là tham số đầu tiên gọi đến hàm và function hash[] {
return arguments.join[];
}
hash[1,2,4,..]; // Error: arguments.join is not a function
8 là thứ hai với mảng các đối số được truyền.Hãy nhớ rằng, nếu giá trị
function hash[] {
return [].join.call[arguments];
}
hash[1,2,3,4]; // "1,2,3,4" whoaa
8 không thể là giá trị ban đầu được nhìn thấy bởi một hàm [nếu phương thức là một hàm trong mã chế độ không nghiêm ngặt]. Đối tượng toàn cầu sẽ là Let glue be the first argument or, if no arguments, then a comma ",".
Let result be an empty string.
Append this[0] to result.
Append glue and this[1].
Append glue and this[2].
…Do so until this.length items are glued.
Return result.
3 và Let glue be the first argument or, if no arguments, then a comma ",".
Let result be an empty string.
Append this[0] to result.
Append glue and this[1].
Append glue and this[2].
…Do so until this.length items are glued.
Return result.
4, trong khi các giá trị nguyên thủy sẽ được đóng hộp.Ecmascript 6 [ES6] cung cấp một toán tử tuyệt vời có tên
function hash[] {
return [].join.call[arguments];
}
hash[1,2,3,4]; // "1,2,3,4" whoaa
2. Nó được viết là Let glue be the first argument or, if no arguments, then a comma ",".
Let result be an empty string.
Append this[0] to result.
Append glue and this[1].
Append glue and this[2].
…Do so until this.length items are glued.
Return result.
6 trong mã JavaScript. Toán tử này cho phép có thể lặp lại, ví dụ, các mảng. Nó được sử dụng để xử lý tất cả các phần tử mảng hoặc một đối tượng.Mặt khác, đối tượng
function hash[] {
return arguments.join[];
}
hash[1,2,4,..]; // Error: arguments.join is not a function
8 là giống như mảng [có nghĩa là đối tượng function hash[] {
return arguments.join[];
}
hash[1,2,4,..]; // Error: arguments.join is not a function
8 có thuộc tính Let glue be the first argument or, if no arguments, then a comma ",".
Let result be an empty string.
Append this[0] to result.
Append glue and this[1].
Append glue and this[2].
…Do so until this.length items are glued.
Return result.
9] mà chúng ta có thể sử dụng trong hàm có các giá trị đối số.Sử dụng phương thức function hash[] {
return [].join.call[arguments];
}
hash[1,2,3,4]; // "1,2,3,4" whoaa
1 để chuyển một mảng cho một hàm trong javascript
function hash[] {
return [].join.call[arguments];
}
hash[1,2,3,4]; // "1,2,3,4" whoaa
var names = [ 'Mehvish', 'John', 'Henry', 'Thomas'];
displayName.apply[this, names];
function displayName[]{
for[var i=0; i