標籤:單行注釋 span bsp 列表 lse 屬性 語句 while 數字
---恢複內容開始---
ECNAScript是js的一個標準
JS的三大部分:
1.基礎部分
2.操作瀏覽器 BOM
3.操作文檔中的標籤 DOM
JS的匯入方法:
1.在script標籤中寫入內容
2.在JS檔案中寫入代碼,在head部分的script標籤中匯入地址
語言規範:
注釋:
單行注釋://
多行注釋:/*..........*/
結束語:
每個語句結束的部分加上分號(;)
聲明變數:
文法:var 變數名;
變數名由_,數字,字母,$組成,不能有數字開頭.其餘的規則和python中的命名規則一樣.
ES6增加:
const:定義常量,一旦聲明常量的值不變
let:用法和var類似,只在let命令所在的代碼塊內生效
資料類型:
JavaScript:擁有動態類型
例:
var s; //聲明變數
var s = 123 //s是數實值型別
var s = "123" //s是字串類型
數實值型別:
JavaScript:不區分float和int統一叫數實值型別.
例:科學計數法
var num = 10e3
console.log(num) ==>10000
NaN表示不是數實值型別(Not a Number)
例:parseInt (取整) 和parseFalse
var num = 10.123;
console.log(parseInt(num)); ==>10
console.log(parseFloat(num)); ==>10.123
var s = "anc";
console.log(parseInt(s)) ==>NaN
字串類型:
例:字串的拼接
var s1 = "java";
var s2 = "Script";
console.log(s1+s2); ==>JavaScript
例:``反引符
var name = "小白";
var s = `他叫${name}.`
console.log(s) ==>他叫小白.
字串的常用方法:
.length 返回長度(屬性)
.trim() 去除左右兩端的空格
.trimRight() 去除右邊的空格
.trimLeft() 去除左邊的空格
.charAt(n) 返回第n個字元
.indexOf(元素,n) 返回元素在字串中的位置(索引) n是從索引即從第n位元素向後找(可以不寫n) 沒有返回-1
.concat(字串) 將字串和原字串拼接
.substring(num1,num2) num1和num2都是索引 如果num1<num2則從num2切到num1
.slice(num1,num2) 切片 顧頭不顧尾 num2可以是負數 沒有返回一個Null 字元串
.toLowerCase() 小寫
.toUpperCase() 大寫
.split(元素,n) 將字串按照元素來切割返回有n個元素的列表.(n可以不寫)
布爾(bool)類型:
bool值只有true和false
""(Null 字元),0,null,undefined,NaN都表示false
undefined類型:
表示聲明一個變數但沒有賦值.
物件類型:
null是一個對象 表示手動清空一個變數.
對象包括:
1.數組(列表)
2.自訂對象(字典)
數組的常用方法:
.length 長度
.push(元素) 擷取列表添加元素後的長度 原列表的最後添加元素
.pop() 擷取列表最後一個元素 原列表的最後一個元素被刪除
.unsift(元素) 擷取列表添加元素後的長度 為原列表的開頭添加元素
.shift() 擷取列表第一個元素 原列表的第一個元素被刪除
.slice(num1,num2) 切片支援負數 如果沒有返回空列表
.reverse() 反轉列表 直接操作原列表
.join("-") 將數組中的每個元素用-串連成一個字串
.concat(元素) 串連成一個新數組 如果元素是一個列表將列表中的每個元素分別添加到列表中;如果元素是字串將字串作為一個元素添加到列表中
.sort() 按照每個元素的ASCII碼進行排序,操作原列表
.splice(num1,num2,item1,item2...) 從num1開始刪除,刪除num2個元素,將刪除的元素替換成item1,item2...
.map() 返回一個數組元素調用函數處理後的新數組.
例:sort按照自訂大小排序
function sortNumber(a,b) {
return a-b
}
var l1 = [2,4,0,45,9,12]
l1.sort(sortNumber)
console.log(l1) ==>[0, 2, 4, 9, 12, 45]
例:splice
var l1 = ["a",2,"d",5,2,"a",2]
console.log(l1.splice(2,3,"A","B","C","D","E")); //["d", 5, 2]
console.log(l1) //["a", 2, "A", "B", "C", "D", "E", "a", 2]
例:map
function myMap(a) {
return a**2
}
var l = [1,2,3,4,5]
console.log(l.map(myMap)) //[1, 4, 9, 16, 25]
類型查詢:
typeof :是一個一元運算不是一個函數
運算子:
算數元素符:
+, - ,* ,/, %(取餘), ++(預設加一), --(預設減一)
比較子:
< ,> ,= ,!= ,==(判斷,弱判斷,即數值相等返回true不管類型是否一致) ,===(即判斷數值又判斷類型) ,!==
邏輯運算:
&&(and) , ||(or) , !(not) 將一個變數快速轉化成bool類型(!!num)
賦值運算:
= , += , -= , *=(乘等於) , /=(除等於)
流程式控制制:
例: if...else..
var age = 19;
if (age > 18) {
console.log("成年人")
} else {
console.log("未成年")
}
例:if...else if...else...
var a = 5;
if (a>5) {
console.log("a>5")
} else if (a<5) {
console.log("a<5")
} else {
console.log("a=5")
}
例:switch中的每一個case後面都會加break語句,否則程式會繼續向下執行剩下的case語句
var today = 6;
switch (today) {
case 1:
console.log(1);
break;
case 2:
console.log(2);
break;
case 3:
console.log(3);
break;
default:
console.log(6);
}
例:for迴圈
for (var i=0; i<10; i++) { //第一個分號前面是初始化一個變數,第二個變數是條件,第二個後面是在代碼塊執行完後執行在判斷條件,條件成立繼續執行,不成立結束迴圈.
console.log(i);
}
例:for迴圈數組
var ll = [11,22,33,44,55]
for (var i=0; i<ll.length;i++) {
console.log(ll[i]);
}
例:while迴圈
var i = 0;
while (i<10) {
console.log(i);
i++;
}
例:三元運算
var a = 1;
var b = 2;
var c = a>b ? a:b;
console.log(c) ==>2
前端--JS