JavaScript高階程式設計(4)

2021-09-12 16:54:37 字數 998 閱讀 4990

function型別.

首先記住一句話:函式是物件,函式名是指標。

1:

function sum (num1, num2)
2:

var sum = function(num1, num2);
3:

var sum = new function("num1", "num2", "return num1 + num2");// 不推薦

上面這三種寫法意義一樣。一是函式宣告語法定義函式,二是函式表示式定義函式,

三是使用function的建構函式定義函式,其中3,最後乙個引數始終被看做函式體。

使用不帶圓括號的函式名是訪問函式指標,不是呼叫函式

沒有過載,定義兩個相同名字的函式,結果就是第二個會覆蓋第乙個。

函式宣告和函式表示式的區別

解析器會率先讀取函式宣告,並使其在執行 9 任何**之前可用(可以訪問);

至於函式表示式,則必須等到解析器執行到它所在的**行,才會真正被解釋執行

正確:

alert(sum(10,10));

function sum(num1, num2)

錯誤:

alert(sum(10,10));

var sum = function(num1, num2);

作為值的函式

可以像傳遞引數一樣把乙個函式傳遞給另乙個函式,

也可以將乙個函式作為另乙個函式的結果返回。

function callsomefunction(somefunction, someargument)
呼叫

function add10(num)

var result1 = callsomefunction(add10, 10);

alert(result1); //20

JavaScript高階程式設計(4)

function型別.首先記住一句話 函式是物件,函式名是指標。1 function sum num1,num2 2 var sum function num1,num2 3 var sum new function num1 num2 return num1 num2 不推薦 上面這三種寫法意義一...

JavaScript高階程式設計(4)

function型別.首先記住一句話 函式是物件,函式名是指標。1 function sum num1,num2 2 var sum function num1,num2 3 var sum new function num1 num2 return num1 num2 不推薦 上面這三種寫法意義一...

JavaScript高階程式設計學習4 傳遞引數

ecmascript中所有的函式的引數都是按值傳遞的。也就是說,把函式外部的值複製給函式內部的引數,就和把值從乙個變數複製到另外乙個變數一樣。基本型別值的傳遞如同基本型別變數的複製一樣,如下例 let num1 5 let num2 num1 alert num2 5引用型別值的傳遞,如同引用型別變...