js函式引數

2021-09-10 13:21:59 字數 530 閱讀 8400

之前一直以為乙個函式的引數是根據帶入的資料來使用的,用不用的到就是自己的事了,後來才發現不是的。

js函式的引數與大多數其他語言中函式的引數有所不同,js函式不介意傳遞來多少個引數,也不在乎傳進來的引數是什麼資料型別,也就是說,即便你定義的函式只接收兩個引數,在呼叫這個函式時也未必一定要傳遞2個引數。可以傳遞乙個、三個甚至不傳引數,解析器永遠不會有什麼怨言。之所以會這樣,因為js中引數在內部是用乙個陣列來表示的。函式接受到的始終是這個陣列,而不關心陣列中包含那些引數。

實際上,在函式體內可以通過arguments物件來訪問這個引數陣列,來獲取每乙個傳遞過來的引數

第乙個是arguments[0],,第二個是arguments[1].......

所以可以用length獲得引數的個數,寫乙個簡單的例子記錄一下

window.onload = function()

function test()

return nums;

}

返回 6

原來函式的引數命名不是必須的。

js函式引數傳遞

js高程3 4.1.3中 ecmascript中所有函式的引數都是按值傳遞的。也就是說,把函式外部的值複製為函式內部的引數,就和把值從乙個變數複製到另乙個變數一樣。正如書中所說,有不少開發人員在這一點上可能感到困惑 很不幸,我就是那一部分人。本文一是看高程整理的筆記,另一方面是自己有很多不理解的地方...

js函式引數理解

eg function setname obj var person new object setname person alert person.name nicholas 例子的結果顯示的值仍然是 nicholas 即使在函式內部修改了引數的值,但原始的引用仍然保持未變。實際上,當在函式內部重寫...

js基礎 函式引數arguments

在呼叫函式時,瀏覽器每次都會傳遞進兩個隱含的引數 1,函式的上下文物件this。2 封裝實參的物件arguments arguments是乙個類陣列物件,它也可以通過索引來運算元據,也可以獲取長度,在呼叫函式時,我們所傳遞的實參都會封裝到arguments中 arguments.length可以用來...