函式length屬性

2022-07-12 07:03:09 字數 1430 閱讀 5460

函式的length屬性指明函式的形參個數。

length是函式物件的乙個屬性值,指該函式有多少個必須要傳入的引數,即形參的個數。形參的數量不包括剩餘引數個數,僅包括第乙個具有預設值之前的引數個數。與之對比的是,arguments.length是函式被呼叫時實際傳參的個數。

function構造器本身也是個function。它的length屬性值為 1 。該屬性 writable:false, enumerable:false, configurable:true。

1. function構造器的屬性的length為1

console.log(function.length); // 1

console.log(function(a){}.length); // 1

console.log(function(a,b,c){}.length); // 3

2.如果函式內部是通過arguments呼叫引數,而沒有實際定義引數的話,length 只會的得到 0。
function test1()

console.log(test1.length); //0

test1(1,2);// 2

es6指定了預設值以後,函式的length屬性,將返回沒有指定預設值的引數個數。也就是說,指定了預設值後,length屬性將失真。下面**中,length屬性的返回值,等於函式的引數個數減去指定了預設值的引數個數。

這時因為length屬性的含義是,該函式預期傳入的引數個數。某個引數指定預設值以後,預期傳入的引數個數就不包括這個引數了。

console.log((function (a){}).length); // 1

console.log((function (a = 5){}).length); // 0

console.log((function(a, b, c = 5){}).length); // 2;

/* 同時,這裡的rest引數也不會計入length屬性。*/

console.log((function(...args){}).length); // 0;

/*如果設定了預設值的引數不是尾引數,那麼length屬性也不再計入後面的引數了*/

(function(a = 0, b, c){}).length; // 0

(function(a, b = 1, c){}).length; // 1

function a(a,)

console.log(a)//2

function a(a,...b)

console.log(a)//1

函式的length屬性

函式的length屬性返回函式預期傳入的引數個數,即函式定義之中的引數個數。function f a,b f.length 2上面 中,函式f的length屬性就是定義時的引數個數,不管呼叫時傳入多少個引數,length屬性始終等於2.如果函式的引數有預設值,則計算length屬性時,將不計算有預設...

Matlab基本函式 length函式

1 length函式 計算向量或矩陣的長度 2 用法說明 y length x 函式計算指定向量或矩陣的長度y。如果引數變數x是向量,則返回其長度 如果引數變數是非空矩陣,則length x 與max size x 等價 3 舉例說明 x youhaidong x youhaidong y leng...

Matlab基本函式 length函式

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!1 length函式 計算向量或矩陣的長度 2 用法說明 y length x 函式計算指定向量或矩陣的長度y。如果引數變數x是向量,則返回其長度 如果引數變數是非空矩陣,則length x 與max size x 等價 3 舉例說明 x youh...