1、函式練習:
如果函式所需引數為陣列,在宣告和定義時按照普通變數名書寫引數列表,在編寫函式體內容時體現其為乙個陣列即可,再傳參時可以直接將具體的陣列傳進去
即
var
max=getarratmax([
1,4,2,6,8,2,5
]);
關於說明:
/**
*函式的說明
*@param array引數為一陣列//解釋說明引數列表
*returns //解釋說明返回值**
/當有人需要檢視該函式的說明時,使用ctrl+左鍵點選函式名即可訪問以上注釋
//輸入年月日,獲取這個日期是這一年的多少天
function
getdates
(years,month,day)
var months=[31,28,31,30,31,30,31,31,30,31,30,31];
}for(var i=0;i1;i++)
//判斷是否為閏年
if(year%4==0&&year%100==0&&year%400==0&&month>2)
return days;
2、arguments物件
定義乙個函式,若不確定使用者是否傳入了多少引數,此時若知道了引數的個數,就可繼續進行運算
arguments.length可獲取當前引數列表的引數個數
只使用arguments物件可以檢視當前所傳引數
3、函式的其他定義方式
1)命名函式:函式具有函式名,函式名儲存的是函式**
匿名函式:函式不具有函式名,不能直接呼叫
2)函式表示式的定義方式:
var 變數名=function(...);
f(...);//呼叫函式
functionf()
console.log(f);//將輸出f函式的**
var f1=function
()f1();//你好
f1=function
();f1();//您好
//根據函式名儲存的是函式**的原理
(function
())();
函式的自呼叫,沒有名字,宣告的同時直接呼叫
一次性的
函式同時也是一資料型別,function型,可作為引數使用
注意,作引數時不需要帶括號,被稱為**函式
function
f1(fn)
function
f2()
f1(f2);
函式也可作為返回值被使用
functionf()
}var ff=f();//呼叫
ff();
4、作用域
1)全域性變數:
該變數是由var宣告的,為全域性變數,可以在頁面的任何位置使用。如果頁面不關閉,該變數將一直占有記憶體空間不被釋放
區域性變數:在函式內部的變數是區域性變數,外邊不可使用。除了函式以外,其他的任何位置定義的變數都是全域性變數
塊級作用域:{}一對大括號可視為一塊,在這對括號內定義的變數只能在該塊內使用。js中不存在塊級作用域,在塊內宣告的變數也可以在塊外使用,函式除外。
全域性作用域:全域性變數的使用範圍
區域性作用域:區域性變數的使用範圍
隱式全域性變數:不使用var宣告變數,被稱為隱式全域性變數,可以被delete關鍵字刪除並釋放,全域性變數則不能;並且隱式全域性變數使用在函式內,外界仍可直接訪問該變數。
2)作用域鏈
5、預解析
1)提前解析**
把變數及函式的宣告提前。把變數宣告提前到當前所在作用域最上面。把函式宣告提前到當前所在作用域最上面。先提公升var,再提公升function
console.log(num);
var num=10;//系統預解析該條指令中的宣告部分,上述輸出語句將輸出undefined
f();//輸出undefined,就算沒有下面10的賦值語句也是undefined,因為都只會把宣告提前,然後執行函式
var num=20;
function
f()
案例:
function
f1()
f1();//輸出undefined
console.log(num);//訪問不到,報錯
預解析中,變數的提公升,只會在當前的作用域中提公升,提公升到當前作用域的最上面。函式中的變數只會提公升到函式的作用域中的最前面,不會出去
預解析會分段。不同對script標籤中的重名函式預解析不會發生衝突
var a=25;
function
abc()
abc();//undefined
console.log(a);// 25
console.log(a);//輸出函式體內容
functiona()
var a=1;
console.log(a);//1
var a=b=c=9;
//其中a為全域性變數,在函式體內定義時只在體內有效。b,c是隱式全域性變數,全場有效
f1();//報錯
var f1=function
()
自學筆記 03 CSS
內部樣式表 使用style標記建立樣式時,最好寫在 外部樣式表 標籤匯入外部樣式表 stylesheet type text css href 目標檔案的路徑及檔名全稱 import匯入外部樣式表 link和import匯入外部樣式區別 內聯樣式表 行內樣式 嵌入式樣式 行內樣式表 標籤 style...
c 自學筆記day03
c 中的型別轉換 1 隱式型別轉換規則 這種轉換常見於兩個不同型別的運算元進行運算的時候會發生。1 如果運算元有浮點型別,則會轉換成浮點型別 例如 int float float float int double double double 2 如果兩個運算元都是整型,但是級別不同,會進行整型提公升...
JS自學筆記04
arguments 索引 實參的值 1 物件 1 建立物件 呼叫系統的建構函式建立物件 var obj new object 新增屬性。物件.名字 值 obj.name cc obj.age 18 新增方法 obj.eat function 呼叫 obj.eat 自定義建構函式建立物件 結合第一種和...