JavaScript高階程式設計(2)

2021-09-12 17:06:24 字數 573 閱讀 5404

js function重寫方式

我們知道正常function的格式是:

function functionname(arg0,arg1,.....,argn)

function sayhi(name,message)

其實ecmascript函式是不介意傳遞進來多少個引數,也不在乎傳進來引數是什麼資料型別的。因為ecmascript中的引數在內部是用乙個陣列來表示的。函式只是接受這個陣列,而不關心陣列中包含哪些引數。實際上,在函式體內通過arguments物件來訪問這個引數陣列,從而獲取傳遞給函式的每乙個引數。

其實,arguments物件只是與陣列類似(它並不是array的例項),因為可以使用方括號語法訪問它的每乙個元素(第乙個元素是arguments[0],第二個元素是arguments[1]),使用length屬性來確定有多少個引數。所以上面的那個函式也可以這樣來重寫:

function sayhi()
這樣重寫後function不包含引數,但function的功能還是一樣的。雖然這個特性算不上完美的過載,但也足夠彌補ecmascript這一缺憾了。

JavaScript高階程式設計(2)

js function重寫方式 我們知道正常function的格式是 function functionname arg0,arg1,argn function sayhi name,message 其實ecmascript函式是不介意傳遞進來多少個引數,也不在乎傳進來引數是什麼資料型別的。因為ec...

JavaScript高階程式設計(2)

js function重寫方式 我們知道正常function的格式是 function functionname arg0,arg1,argn function sayhi name,message 其實ecmascript函式是不介意傳遞進來多少個引數,也不在乎傳進來引數是什麼資料型別的。因為ec...

JavaScript高階程式設計

ecmascript有5種基本型別資料 另外還有一種複雜的資料型別 typeof就是用來檢測變數的資料型別的,typeof可能會返回以下值 typeof操作符在檢測引用型別的值時,總是會返回object,所以用處不大。instanceof用來檢測物件型別的,返回值是 true false。例如 pe...