函式的宣告
方式一:js的**宣告區域和執行區域是一起的,都是在js**的**域中
function 函式名(形參名 1,形參名2…)
方式二:根據底層都是物件,函式底層也都是物件function
test1
(a1,a2)
test1(1
,2);
var 函式名 = new function(「形參1」,「形參2」…「函式體」);
方式三:var 函式名 = function(形參1,形參2)var test2 =
newfunction
("a1"
,"a2"
,"alert('函式宣告二')"
)test2(1
,2);
var
test3
=function
(a1,a2)
自執行函式
當執行指令碼的時候,自執行函式不用經過呼叫直接執行(
function
(num1,num2))(
5,5)
;
函式的引數
js中的函式在呼叫時,形參可以不賦值,不會報錯
js中的函式在呼叫時,形參賦值可以不全賦值,不會報錯,但實參會依次進行賦值
函式的返回值
在js中如果函式有返回值則直接返回,如果沒有返回值則預設返回undefined
函式的執行符var
testreturn
=function()
alert
(testreturn()
);
js 中的函式執行符其實就是小括號()
列印的時候如果列印的時候是testreturn(),列印出來的應該是該函式執行出來以後的結果以及返回值
如果列印的是testreturn,列印出來的就應該是testreturn這個物件變數
函式作為實參進行傳遞
在js中函式是可以作為實參進行傳遞的,可以實現動態的呼叫函式
ps:函式開發中常用的傳遞方式function
testobj
(a)var
testparam
=function()
testobj
(testparam)
;
原型和原型鏈
例項物件的 原型__proto__和建構函式的原型prototype指向是相同的
例項物件中的 __proto__原型指向的是建構函式中的原型prototype
例項物件中__proto__是原型,瀏覽器使用的
建構函式中的prototype是原型,程式設計師使用的
原型鏈:是一種關係,例項物件和原型物件之間的關係,關係是通過原型(proto)來聯絡的
[外鏈轉存失敗(img-iwef7zpw-1562836055882)(g:\各種學習筆記\js學習筆記\原型.png)]
原型的物件可以改變
例項物件的原型__proto__指向的是該物件所在的建構函式的原型物件
獲取節點的方法
js獲取標籤節點
js還支援通過css獲取節點document.
getelementbyid()
//通過id獲取節點
document.
getelementsbyclassname()
//通過類名獲取節點
document.
getelementsbytagname()
//通過標籤名字獲取節點
document.
queryselector()
//獲取選擇器的第乙個節點
document.
queryselectorall()
//獲取所有的節點結果返回第乙個節點
閉包js中的每個函式都相當於是乙個閉包。因為函式生成了乙個區域性作用域,通過巢狀函式的方法獲取到區域性變數,這樣生成的閉包才是乙個可用的閉包
function
addone()
}var getcount =
addone()
; console.
log(
getcount()
);console.
log(
getcount()
);console.
log(
getcount()
);console.
log(
getcount()
);
JavaScript函式中的arguments物件
ecmascript標準中,每個函式都有乙個特殊的內建物件arguments。arguments物件是乙個類array物件 object 用以儲存函式接收到的實參副本。一 內建特性 說它是乙個內建物件是因為我們在建立函式時並沒有定義這個物件 var functest function args fu...
javascript中的eval函式
eval 只有乙個引數,如果傳入的引數不是字串,則直接返回這個引數。否則會將字串當成js 進行編譯,如果編譯失敗則丟擲語法錯誤 syntaxerror 異常。如果編譯成功則開始執行這段 並返回字串中的最後乙個表示式或語句的值 如果最後乙個表示式或語句沒有值,則最終返回undefined。如果字串丟擲...
javaScript中函式的引數
函式不介意傳遞進來多少個引數,也不在乎傳進來引數是什麼資料型別,原因是 ecmascript 中的引數在內部是用乙個陣列來表示的。函式接收到的始終都是這個陣列,而不關心陣列中包含哪些引數 如果有引數的話 在函式體內可以通過 arguments 物件來訪問這個引數陣列,從而獲取傳遞給函式的每乙個引數,...