'w3cschool javascript基礎教程筆記(1)'

JavaScript HTML 算術 前端嘮嘮嗑 2019-07-15
"
"
w3cschool javascript基礎教程筆記(1)

注:本文是w3cschool javascript基礎教程筆記(1),目的是用精簡的語言記錄JavaScript核心基礎知識,用於今後的複習提示,所以內容不會特別詳盡,也沒有示例,不推薦完全沒有接觸過javascript的同學閱讀。筆記範圍《js教程》~《js數組迭代》。

1. 用途

改變html內容;改變html屬性;改變html樣式

2. 使用

行內引用;html內引用;外部引用

3. 語句

由 值(字面量<數值或者字符串>/變量)、運算符(+-/)、表達式(ab)、關鍵詞(var)、註釋(單行註釋/多行註釋)構成,以“;”結尾

4. 標識符

用於命名變量/關鍵詞/函數/標籤;

首字母必須是字母/下劃線/美元符號;

不能帶有-(-在javascript中是減法符號);

大小寫敏感

5. 註釋

單行註釋(以“//”開頭);

多行註釋(以“/”開頭,“/”結尾,處於這中間的一律視為註釋內容)

6. 變量

存儲數值的容器(以var/let/const為關鍵詞,let/const為es6新增關鍵詞);

變量先聲明再使用,否則變量值為undefined(使用let/const為關鍵詞時報錯)

7. 運算符

比較運算符(>/</三元運算符等等);

邏輯運算符(或/與/非);

算術運算符;

類型運算符(typeof/instanceof);

位運算符;

賦值運算符(+=/>>>=)

8. 數據類型

數值;字符串;布爾值;數組;對象

9. 函數

執行特定任務的代碼塊;

語法function name(參數 1, 參數 2, 參數 3) {要執行的代碼}

10. 對象

含有屬性和方法;

使用new Object()創建

11. 事件

發生在元素上的“事情”;

添加事件可以使元素再發生該事件時執行特定的操作;

常見事件有onchange,onclick,onmouseover,onmouseout,onkeydown,onload

12. 轉義字符

\\b退格, \\f換頁, \\n換行, \\r回車, \\t水平製表符, \\v垂直製表符

13. 字符串屬性與方法

length屬性;

indexOf() (指定文本首次出現的索引,從頭到尾檢索,可設置開始檢索的位置 );

lastIndexOf() (指定文本最後一次出現的索引,從尾到頭檢索,可設置開始檢索的位置);

search() (與indexOf()作用相同,但是search()無法設置開始檢索的位置,indexOf() 無法設置更強大的搜索值);

slice(start,end) (提取字符串某一部分並咋新字符串中返回被提取的值,可接受負數索引);

substring(start,end) (與slice功能相同,但是不能接受負數的索引);

substr(start,end) (與slice功能相同,但是其第二個參數表示被提取的長度,而不是索引值);

replace("old","new")(使用新值替換字符串中的某個舊值,然後返回一個新的字符串,不改變原有的字符串);

toUpperCase() (大寫轉換);

toLowerCase() (小寫轉換);

concat() (text1.concat("連接字符",text2) 使用連接字符將text1和text2連接成一個新的字符串並返回該字符串);

trim() (刪除字符串兩端的空白符,不支持ie8);

charAt() (返回指定索引位置的字符);

charCodeAt() (返回指定索引位置的字符unicode 編碼);

split("分隔符") (將字符串分割轉換成數組)

注意:

  1. 字符串“0123456789”從左到右的索引值是0到9,從右到左的索引值是-1到-10
  2. 取字符串片段時,從start位字符開始,取到end-1位字符,end位字符不取
  3. replace對大小寫敏感

14. 數字

JavaScript數值始終是一個62位浮點數;

與字符串相加會變成字符串

15. 變量類型轉換

  1. 轉換成字符串類型
  2. toString() (將變量轉換成字符串類型);
  3. toExponential() (將數值型變量轉換成使用指數計數法的字符串類型,該方法可添加參數,參數表示保留的小數點的位數);
  4. toFixed()(將數值型變量轉換成字符串類型,該方法可添加參數,參數表示保留的小數點的位數);
  5. toPrecision()(將數值型變量轉換成字符串類型,該方法可添加參數,參數表示數字指定的長度);
  6. 轉換成數值類型
  7. Number()/parseFloat()/parseInt() 以上三種方法可以將數值型字符串轉化成number類型

15. 數組

聲明方式(兩種,第二種不推薦使用)

var cars = ["ttt", "mmm", "nnn"]
var cars = new Array("ttt", "mmm", "nnn");

可以使用下角標獲取該位置參數,如cars[0] (序號從0開始)

1. 增

push() (在最後添加元素,返回的是新數組長度)

unshift() (在首位添加元素,返回的是新數組長度)

cars[cars.length] = "kkk“ 與push()效果相同

cars.splice(2,0,"lll","qqq") (第一個參數[2]表示添加元素的位置,第二個元素[0]表示需要刪除後面幾個元素)

concat() (合併數組 arr1.concat(arr2,arr3,...))

2. 刪

pop() (刪除最後一個元素,返回的是刪除的元素)

shift() (刪除第一個元素,返回的是刪除的元素)

delete.cars[2] (精確刪除某個位置的元素值,但是該位置保留,元素值位undefined)

cars.splice(1,1) (後面不添加新元素即可看成是在減元素)

slice(start,end) (剪裁數組,剪裁後的數組作為新值返回,原數組不變)

3. 改

cars[2] = "kkk"

cars.splice(2,1,”kkk“) (增加的元素個數等於減少的元素個數即可看成是在修改元素)

4. 查

遍歷——for循環 / foreach() 函數

5. 轉換

toString() (把數組轉換為數組值(逗號分隔)的字符串)

join() (把數組轉換為數組值(以方法內參數分隔)的字符串)

判斷是否是數組——Array.isArray(cars); (es5以上)

6. 排序

升序——sort() (以字母順序對數組進行排序)

降序——sort()+reverse() (reverse()方法反轉數組元素)

注意:sort()方法只能對字母排序,當元素為數值時會出現錯誤,例如使用sort(),25會大於100。

數值數組升序——sort(function(a, b){return a - b})

數值數組降序——sort(function(a, b){return b - a})

隨機排序——sort(function(a, b){return 0.5 - Math.random()})

7. 迭代

forEach()——接受三個參數(項目只,項目索引,數組本身)

map() ——與forEach()用法完全相同,只不過map()是返回一個新的數組,而forEach()不返回

filter() ——篩選數組內容,留下符合要求的元素,生成一個新數組並返回

every() ——判斷是否數組內所有元素都滿足某一要求,返回布爾值

some() ——判斷是否數組內有元素滿足某一要求,返回布爾值

find() ——返回通過測試函數的第一個數組元素的值

findIndex() ——返回通過測試函數的第一個數組元素的索引

"

相關推薦

推薦中...