Javascript基礎學習 三

2021-09-12 00:06:49 字數 4085 閱讀 3247

1.執行環境:變數或函式有權訪問的其他資料,決定了它們各自的行為。

2.作用域鏈:全域性執行環境是最外圍的乙個執行環境,活動最開始只包括乙個變數,即arguments物件(這個物件在全域性中是不存在的),作用域中的下乙個變數來自於外部環境,全域性執行環境的變數物件始終是作用域中最後乙個物件。

3.閉包:就是能夠讀取其他函式內部變數的函式。由於內部的子函式才能讀取區域性變數。

4.閉包會導致原有的作用域不被釋放,造成記憶體洩漏。

本質:是當前函式的引數列表,類似於陣列的集合,使用索引值來取。

function f1(a,b,c)

f1(1,2,3);

function fun(n,o) };}

var a = fun(0); a.fun(1); a.fun(2); a.fun(3);

var b = fun(0).fun(1).fun(2).fun(3);

var c = fun(0).fun(1); c.fun(2); c.fun(3);

function f1(a,b,c)

f1(1,2,3);

var sum = function ()

} else

};console.log(sum(2, 53));//5

console.log(sum(2)(3));

1.if語句(流控制語句)

if(條件表示式)

else

2.switch語句( 流控制語句)

switch(表示式)
case:如果表示式等於這個值(value),則執行後面的語句。而break關鍵字是跳出switch語句。如果省略break關鍵字,就會導致執行完當前的case後,繼續執行下乙個case。default則用於表示式不匹配前面的任何一種情形時,執行機動**。

3.do-while語句 (後測試迴圈語句)

後測試迴圈語句定義:只有在迴圈體中的**執行之後,才會測試出口條件。

語法:

do

while(條件表示式)

4.while語句 (後測試迴圈語句)

初值;

while(條件表示式)

5.for語句(前測試語句)

前測試語句定義:在執行迴圈之前初始變數和定義迴圈之後的執行**。

for(初值;條件表示式;步長)
6.for-in語句(精準的迭代語句可以用來列舉物件的屬性)。迴圈遍歷

語法:

for(變數 in 集合) 語句
7.break和continue語句

break語句會立即退出迴圈,強制繼續執行後面的語句。

continue語句雖然也會立即退出迴圈,但退出迴圈後會從迴圈的頂部繼續執行。

var num=0;

for(var i=1;i<10;i++)

num++;

}alert(num);//結果是4

var num=0;

for(var i=1;i<10;i++)

num++;

}alert(num);//結果是8

定義:函式反覆呼叫自己,直到最終結果 跳出。

例:求5的階乘。

function jiecheng(n)

return jiecheng(n-1)*n;

} console.log(jiecheng(5));

1.concat

將兩個或多個字元的文字組合起來,返回乙個新的字串。

var a = 「hello」;

var b = 「,world」;

var c = a.concat(b);

alert(c);

//c = 「hello,world」

indexof

2.返回字串中乙個子串第一處出現的索引(從左到右搜尋)。如果沒有匹配項,返回 -1 。

var index1 = a.indexof(「l」);

//index1 = 2

var index2 = a.indexof(「l」,3);

//index2 = 3

charat

3.返回指定位置的字元。

var get_char = a.charat(0);

//get_char = 「h」

lastindexof

4.返回字串中乙個子串最後一處出現的索引(從右到左搜尋),如果沒有匹配項,返回 -1 。

var index1 = lastindexof(『l』);

//index1 = 3

var index2 = lastindexof(『l』,2)

//index2 = 2

match

5.檢查乙個字串匹配乙個正規表示式內容,如果麼有匹配返回 null。

var re = new regexp(/^\w+$/);

var is_alpha1 = a.match(re);

//is_alpha1 = 「hello」

var is_alpha2 = b.match(re);

//is_alpha2 = null

substring

6.返回字串的乙個子串,傳入引數是起始位置和結束位置。

var sub_string1 = a.substring(1);

//sub_string1 = 「ello」

var sub_string2 = a.substring(1,4);

//sub_string2 = 「ell」

substr

7.返回字串的乙個子串,傳入引數是起始位置和長度

var sub_string1 = a.substr(1);

//sub_string1 = 「ello」

var sub_string2 = a.substr(1,4);

//sub_string2 = 「ello」

replace

8.用來查詢匹配乙個正規表示式的字串,然後使用新字串代替匹配的字串。

var result1 = a.replace(re,「hello」);

//result1 = 「hello」

var result2 = b.replace(re,「hello」);

//result2 = 「,world」

search

9.執行乙個正規表示式匹配查詢。如果查詢成功,返回字串中匹配的索引值。否則返回 -1 。

var index1 = a.search(re);

//index1 = 0

var index2 = b.search(re);

//index2 = -1

slice

10.提取字串的一部分,並返回乙個新字串(與 substring 相同)。

var sub_string1 = a.slice(1);

//sub_string1 = 「ello」

var sub_string2 = a.slice(1,4);

//sub_string2 = 「ell」

split

11.通過將字串劃分成子串,將乙個字串做成乙個字串陣列。

var arr1 = a.split("");

//arr1 = [h,e,l,l,o]

length

12.返回字串的長度,所謂字串的長度是指其包含的字元的個數。

var len = a.length;

//len = 5

tolowercase

13.將整個字串轉成小寫字母。

var lower_string = a.tolowercase();

//lower_string = 「hello」

touppercase

14.將整個字串轉成大寫字母。

var upper_string = a.touppercase();

//upper_string = 「hello」

javascript基礎學習

函式執行的時候形成乙個私有作用域 記憶體的釋放和作用域銷毀 堆記憶體 棧記憶體工廠模式 工廠函式和建構函式的區別 檢測資料型別的方式 原型鏈模式遵行冒泡形式就近原型 所有類都是函式資料型別的,所有類的原型都是物件資料型別的 fuction函式類,所有的函式資料型別都是它的乙個例項 再內建類原型上擴充...

Javascript基礎學習

變數的命名規則 1.變數名必須以字母,下劃線 或者katex parse error expected group after at position 25 分大小寫 3.變數由字母下劃線 符或數字組成 4.不能使用關鍵字和保留字 系統指定的游泳的字元 變數的取值 通過變數名 console.log...

JavaScript 基礎 學習筆記

求乙個在基礎範圍內的隨機數 知識點 除數取餘 math.random 取隨機數 返回指定範圍的隨機數 m n之間 的公式 math.random n m m var minduration 2.0 var maxduration 4.0 var rangeduration maxduration m...