3 là một đối tượng giống như ____ 14 có thể truy cập được bên trong các hàm chứa các giá trị của các đối số được truyền đến hàm đó. is an function longestString[] {
let longest = '';
for [let i = 0; i longest.length] {
longest = arguments[i];
}
}
return longest;
}
4-like object accessible inside functions that contains the values of the arguments passed to that function.function longestString[] {
let longest = '';
for [let i = 0; i longest.length] {
longest = arguments[i];
}
}
return longest;
}
Thử nó
Sự mô tả
Đối tượng
function longestString[] {
let longest = '';
for [let i = 0; i longest.length] {
longest = arguments[i];
}
}
return longest;
}
3 là một biến cục bộ có sẵn trong tất cả các chức năng không phải của Arrow. Bạn có thể tham khảo các đối số của hàm bên trong hàm đó bằng cách sử dụng đối tượng function longestString[] {
let longest = '';
for [let i = 0; i longest.length] {
longest = arguments[i];
}
}
return longest;
}
3 của nó. Nó có các mục cho mỗi đối số, hàm được gọi với, với chỉ mục của mục đầu tiên tại function longestString[] {
let longest = '';
for [let i = 0; i longest.length] {
longest = arguments[i];
}
}
return longest;
}
7.Ví dụ: nếu một hàm được truyền 3 đối số, bạn có thể truy cập chúng như sau:
arguments[0] // first argument
arguments[1] // second argument
arguments[2] // third argument
Đối tượng
function longestString[] {
let longest = '';
for [let i = 0; i longest.length] {
longest = arguments[i];
}
}
return longest;
}
3 rất hữu ích cho các hàm được gọi với nhiều đối số hơn so với chúng được chính thức tuyên bố chấp nhận, được gọi là các hàm variadic, chẳng hạn như function longestString[] {
let longest = '';
for [let i = 0; i longest.length] {
longest = arguments[i];
}
}
return longest;
}
9. Hàm ví dụ này chấp nhận bất kỳ số lượng đối số chuỗi nào và trả về đoạn dài nhất:function longestString[] {
let longest = '';
for [let i = 0; i longest.length] {
longest = arguments[i];
}
}
return longest;
}
Bạn có thể sử dụng
arguments[1] = 'new value';
0 để đếm số lượng đối số mà hàm được gọi với. Thay vào đó, nếu bạn muốn đếm có bao nhiêu tham số, một hàm được khai báo để chấp nhận, hãy kiểm tra thuộc tính arguments[1] = 'new value';
1 của hàm đó.Gán cho các chỉ số
Mỗi chỉ mục đối số cũng có thể được đặt hoặc chỉ định lại:
arguments[1] = 'new value';
Các hàm không nghiêm ngặt chỉ có các tham số đơn giản [nghĩa là không nghỉ, mặc định hoặc tham số bị phá hủy] sẽ đồng bộ hóa giá trị mới của các tham số với đối tượng
function longestString[] {
let longest = '';
for [let i = 0; i longest.length] {
longest = arguments[i];
}
}
return longest;
}
3 và ngược lại:function func[a] {
arguments[0] = 99; // updating arguments[0] also updates a
console.log[a];
}
func[10]; // 99
function func2[a] {
a = 99; // updating a also updates arguments[0]
console.log[arguments[0]];
}
func2[10]; // 99
Các hàm không nghiêm ngặt được truyền các tham số REST, mặc định hoặc bị phá hủy sẽ không đồng bộ hóa các giá trị mới được gán cho các tham số trong phần thân hàm với đối tượng
function longestString[] {
let longest = '';
for [let i = 0; i longest.length] {
longest = arguments[i];
}
}
return longest;
}
3. Thay vào đó, đối tượng function longestString[] {
let longest = '';
for [let i = 0; i longest.length] {
longest = arguments[i];
}
}
return longest;
}
3 trong các hàm không nghiêm ngặt với các tham số phức tạp sẽ luôn phản ánh các giá trị được truyền đến hàm khi hàm được gọi.function funcWithDefault[a = 55] {
arguments[0] = 99; // updating arguments[0] does not also update a
console.log[a];
}
funcWithDefault[10]; // 10
function funcWithDefault2[a = 55] {
a = 99; // updating a does not also update arguments[0]
console.log[arguments[0]];
}
funcWithDefault2[10]; // 10
// An untracked default parameter
function funcWithDefault3[a = 55] {
console.log[arguments[0]];
console.log[arguments.length];
}
funcWithDefault3[]; // undefined; 0
Đây là hành vi tương tự được thể hiện bởi tất cả các hàm chế độ nghiêm ngặt, bất kể loại tham số chúng được thông qua. Nghĩa là, việc gán các giá trị mới cho các tham số trong phần thân của hàm không bao giờ ảnh hưởng đến đối tượng
function longestString[] {
let longest = '';
for [let i = 0; i longest.length] {
longest = arguments[i];
}
}
return longest;
}
3, cũng như không gán các giá trị mới cho các chỉ số function longestString[] {
let longest = '';
for [let i = 0; i longest.length] {
longest = arguments[i];
}
}
return longest;
}
3 ảnh hưởng đến giá trị của các tham số, ngay cả khi hàm chỉ có các tham số đơn giản.Lưu ý: Bạn không thể viết một chỉ thị
7 trong phần thân của định nghĩa hàm chấp nhận các tham số nghỉ ngơi, mặc định hoặc bị phá hủy. Làm như vậy sẽ ném một lỗi cú pháp. You
cannot write a arguments[1] = 'new value';
arguments[1] = 'new value';
7 directive in the body of a function definition that accepts rest, default, or destructured parameters. Doing so will throw a syntax error.Đối số là một đối tượng giống như mảng
function longestString[] {
let longest = '';
for [let i = 0; i longest.length] {
longest = arguments[i];
}
}
return longest;
}
3 là một đối tượng giống như mảng, có nghĩa là function longestString[] {
let longest = '';
for [let i = 0; i longest.length] {
longest = arguments[i];
}
}
return longest;
}
3 có thuộc tính và thuộc tính arguments[1] = 'new value';
1 được lập chỉ mục từ 0, nhưng nó không có các phương thức tích hợp của ____ 14 như function func[a] {
arguments[0] = 99; // updating arguments[0] also updates a
console.log[a];
}
func[10]; // 99
function func2[a] {
a = 99; // updating a also updates arguments[0]
console.log[arguments[0]];
}
func2[10]; // 99
2 hoặc function func[a] {
arguments[0] = 99; // updating arguments[0] also updates a
console.log[a];
}
func[10]; // 99
function func2[a] {
a = 99; // updating a also updates arguments[0]
console.log[arguments[0]];
}
func2[10]; // 99
3. Tuy nhiên, nó có thể được chuyển đổi thành một function longestString[] {
let longest = '';
for [let i = 0; i longest.length] {
longest = arguments[i];
}
}
return longest;
}
4 thực, sử dụng một trong function func[a] {
arguments[0] = 99; // updating arguments[0] also updates a
console.log[a];
}
func[10]; // 99
function func2[a] {
a = 99; // updating a also updates arguments[0]
console.log[arguments[0]];
}
func2[10]; // 99
5, function func[a] {
arguments[0] = 99; // updating arguments[0] also updates a
console.log[a];
}
func[10]; // 99
function func2[a] {
a = 99; // updating a also updates arguments[0]
console.log[arguments[0]];
}
func2[10]; // 99
6 hoặc cú pháp lan truyền.const args = Array.prototype.slice.call[arguments];
// or
const args = Array.from[arguments];
// or
const args = [...arguments];
Đối với các trường hợp sử dụng phổ biến, sử dụng nó làm đối tượng giống như mảng là đủ, vì nó cả hai đều có thể hiểu được và có
arguments[1] = 'new value';
1 và các chỉ số số. Ví dụ, function func[a] {
arguments[0] = 99; // updating arguments[0] also updates a
console.log[a];
}
func[10]; // 99
function func2[a] {
a = 99; // updating a also updates arguments[0]
console.log[arguments[0]];
}
func2[10]; // 99
8 chấp nhận các đối tượng giống như mảng.function midpoint[] {
return [Math.min.apply[null, arguments] + Math.max.apply[null, arguments]] / 2;
}
console.log[midpoint[3, 1, 4, 1, 5]]; // 3
Đặc tính
function func[a] {
arguments[0] = 99; // updating arguments[0] also updates a
console.log[a];
}
func[10]; // 99
function func2[a] {
a = 99; // updating a also updates arguments[0]
console.log[arguments[0]];
}
func2[10]; // 99
9Tham khảo chức năng hiện đang thực hiện mà các đối số thuộc về. Cấm trong chế độ nghiêm ngặt.
arguments[1] = 'new value';
0Số lượng đối số đã được truyền cho hàm.
function funcWithDefault[a = 55] {
arguments[0] = 99; // updating arguments[0] does not also update a
console.log[a];
}
funcWithDefault[10]; // 10
function funcWithDefault2[a = 55] {
a = 99; // updating a does not also update arguments[0]
console.log[arguments[0]];
}
funcWithDefault2[10]; // 10
// An untracked default parameter
function funcWithDefault3[a = 55] {
console.log[arguments[0]];
console.log[arguments.length];
}
funcWithDefault3[]; // undefined; 0
1Trả về một đối tượng lặp mảng mới chứa các giá trị cho mỗi chỉ mục trong
function longestString[] {
let longest = '';
for [let i = 0; i longest.length] {
longest = arguments[i];
}
}
return longest;
}
3.Ví dụ
Xác định một hàm kết nối một số chuỗi
Ví dụ này xác định một hàm kết nối một số chuỗi. Đối số chính thức duy nhất của hàm là một chuỗi chứa các ký tự tách các mục thành Concatenate.
function myConcat[separator] {
const args = Array.prototype.slice.call[arguments, 1];
return args.join[separator];
}
Bạn có thể vượt qua bao nhiêu đối số tùy thích cho chức năng này. Nó trả về một danh sách chuỗi bằng cách sử dụng mỗi đối số trong danh sách:
// returns "red, orange, blue"
myConcat[', ', 'red', 'orange', 'blue'];
// returns "elephant; giraffe; lion; cheetah"
myConcat['; ', 'elephant', 'giraffe', 'lion', 'cheetah'];
// returns "sage. basil. oregano. pepper. parsley"
myConcat['. ', 'sage', 'basil', 'oregano', 'pepper', 'parsley'];
Xác định chức năng tạo danh sách HTML
Ví dụ này xác định một hàm tạo một chuỗi chứa HTML cho một danh sách. Đối số chính thức duy nhất cho hàm là một chuỗi là
function funcWithDefault[a = 55] {
arguments[0] = 99; // updating arguments[0] does not also update a
console.log[a];
}
funcWithDefault[10]; // 10
function funcWithDefault2[a = 55] {
a = 99; // updating a does not also update arguments[0]
console.log[arguments[0]];
}
funcWithDefault2[10]; // 10
// An untracked default parameter
function funcWithDefault3[a = 55] {
console.log[arguments[0]];
console.log[arguments.length];
}
funcWithDefault3[]; // undefined; 0
3 nếu danh sách không được đặt hàng [viên đạn] hoặc function funcWithDefault[a = 55] {
arguments[0] = 99; // updating arguments[0] does not also update a
console.log[a];
}
funcWithDefault[10]; // 10
function funcWithDefault2[a = 55] {
a = 99; // updating a does not also update arguments[0]
console.log[arguments[0]];
}
funcWithDefault2[10]; // 10
// An untracked default parameter
function funcWithDefault3[a = 55] {
console.log[arguments[0]];
console.log[arguments.length];
}
funcWithDefault3[]; // undefined; 0
4 nếu danh sách được đặt hàng [được đánh số]. Hàm được định nghĩa như sau:function list[type] {
let html = ``;
const args = Array.prototype.slice.call[arguments, 1];
html += args.join['' ];
html += ``; // end list
return html;
}
Bạn có thể chuyển bất kỳ số lượng đối số nào cho chức năng này và nó thêm từng đối số dưới dạng mục danh sách vào danh sách loại được chỉ định. Ví dụ:
function longestString[] {
let longest = '';
for [let i = 0; i longest.length] {
longest = arguments[i];
}
}
return longest;
}
0Sử dụng loại hình với các đối số
Toán tử
function funcWithDefault[a = 55] {
arguments[0] = 99; // updating arguments[0] does not also update a
console.log[a];
}
funcWithDefault[10]; // 10
function funcWithDefault2[a = 55] {
a = 99; // updating a does not also update arguments[0]
console.log[arguments[0]];
}
funcWithDefault2[10]; // 10
// An untracked default parameter
function funcWithDefault3[a = 55] {
console.log[arguments[0]];
console.log[arguments.length];
}
funcWithDefault3[]; // undefined; 0
5 trả về function funcWithDefault[a = 55] {
arguments[0] = 99; // updating arguments[0] does not also update a
console.log[a];
}
funcWithDefault[10]; // 10
function funcWithDefault2[a = 55] {
a = 99; // updating a does not also update arguments[0]
console.log[arguments[0]];
}
funcWithDefault2[10]; // 10
// An untracked default parameter
function funcWithDefault3[a = 55] {
console.log[arguments[0]];
console.log[arguments.length];
}
funcWithDefault3[]; // undefined; 0
6 khi được sử dụng với function longestString[] {
let longest = '';
for [let i = 0; i longest.length] {
longest = arguments[i];
}
}
return longest;
}
3function longestString[] {
let longest = '';
for [let i = 0; i longest.length] {
longest = arguments[i];
}
}
return longest;
}
1Loại đối số riêng lẻ có thể được xác định bằng cách lập chỉ mục
function longestString[] {
let longest = '';
for [let i = 0; i longest.length] {
longest = arguments[i];
}
}
return longest;
}
3:function longestString[] {
let longest = '';
for [let i = 0; i longest.length] {
longest = arguments[i];
}
}
return longest;
}
2Thông số kỹ thuật
Thông số kỹ thuật ngôn ngữ Ecmascript # sec-argument-exotic-sơ đồ # sec-arguments-exotic-objects |
Tính tương thích của trình duyệt web
Bảng BCD chỉ tải trong trình duyệt