JS自學筆記03

2022-05-03 05:06:09 字數 3004 閱讀 4025

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 自定義建構函式建立物件 結合第一種和...