arguments.length

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Thuộc tính dữ liệu arguments.length chứa số lượng đối số được truyền cho hàm.

Giá trị

Một số nguyên không âm.

Property attributes of arguments.length
Writableyes
Enumerableno
Configurableyes

Mô tả

Thuộc tính arguments.length cung cấp số lượng đối số thực sự được truyền cho hàm. Điều này có thể nhiều hơn hoặc ít hơn số lượng tham số được định nghĩa (xem Function.prototype.length). Ví dụ, đối với hàm dưới đây:

js
function func1(a, b, c) {
  console.log(arguments.length);
}

func1.length trả về 3, vì func1 khai báo ba tham số hình thức. Tuy nhiên, func1(1, 2, 3, 4, 5) in ra 5, vì func1 được gọi với năm đối số. Tương tự, func1(1) in ra 1, vì func1 được gọi với một đối số.

Ví dụ

Sử dụng arguments.length

Trong ví dụ này, chúng ta định nghĩa một hàm có thể cộng hai hoặc nhiều số lại với nhau.

js
function adder(base /*, num1, …, numN */) {
  base = Number(base);
  for (let i = 1; i < arguments.length; i++) {
    base += Number(arguments[i]);
  }
  return base;
}

Thông số kỹ thuật

Specification
ECMAScript® 2027 Language Specification
# sec-arguments-exotic-objects

Tương thích trình duyệt

Xem thêm