JS函數、變量作用域
阿新 • • 發佈:2019-02-07
str 設置 形式 形參 關鍵字 對象 返回值 s函數 之間
函數聲明提前
使用函數聲明形式創建的函數
函數參數
函數的()中指定一個或多個形參(形式參數),多個形參之間用,號隔開,聲明形參相當於在函數內部聲明了對應的變量,但不賦值。在調用時在()中指定實參
?調用時解析器不會檢查實參類型、數量,實參可以是任意的數據類型。
函數返回值
使用return來設置函數的返回值,作為函數的執行結果來返回
return後可以跟任意類型的值
語法:return 值
function sum(a,b,c){
var d = a + b + c;
return d;
}
var result = sum(1,2,3);
立即執行函數
(function(a,b){ console.log("a = "+a); console.log("b = "+b) }(xxx,xxx));
方法
函數也可以稱為對象的屬性,如果一個函數作為一個對象的屬性保存,那麽這個函數稱為這個對象的方法
枚舉對象的屬性
使用for...in語句,對象中有幾個屬性,循環就執行幾次,每次執行,都會將對象中的一個屬性的名字賦值給變量
語法:for(var 變量 in 對象){
}
作用域:變量的作用的範圍。
全局作用域
- 直接寫在
<script>
標簽的JS代碼,都在全局作用域
--在打開是創建,在關閉時銷毀 - 全局作用域有一個對象Window,可以直接使用
- 全局作用域,創建的變量都會作為Window對象的屬性保存,創建的函數作為Window的方法保存。
變量聲明提前
使用var關鍵字聲明的變量,會在所有的代碼執行之前被聲明(但不會賦值),如果不適用var關鍵字,則變量不會被聲明提前
使用函數聲明形式創建的函數
function函數(){}
,會在所有的代碼執行之前被創建
//會被提前
function fun(){
console.log("xxx");
}
//不會被提前
var fun2 = function(){
}
JS函數、變量作用域