JS進階
陣列
陣列可以存放任意型別的元素
let arr = ['小胖',12,true,28.9];
console.log(arr, arr.length);
- 增
arr[4] = 'newValue';
- 改
arr[4] = 'changedValue';
- 刪
不會改變陣列的長度, 使用undefined賦值
delete arr[4];
- 查
console.log(arr[4]); // undefined
- 多維陣列
var arr = [1, 2, ['xiaopang', '小胖']];
console.log(arr[2][1]);
函式
// 宣告函式
function 函式名(x, y) {
//函式體程式碼
return z;
}
// 呼叫函式
函式名(x, y);
類與物件
- 類的定義
class Person {
}
var p = new Person();
console.log(typeof p); // object
- 建構函式
constructor()
方法用於傳遞引數, 返回例項物件.
透過new
命令生成物件時自動呼叫, 若沒有, 會自動建立
class Person {
constructor(uname, age) {
this.uname = uname;
this.age = age;
}
}
var stu = new Student('xiaoming', 20);
- 類的方法
class Person {
constructor(uname, age) {
this.uname = uname;
this.age = age;
}
p_sing() {
console.log('唱')
}
}
var kun = new Person('kunkun', 20);
kun.p_sing();
內建物件
- Math物件
方法名 | 功能 |
---|---|
Math.floor() | 向下取整 |
Math.max()/Math.min() | 求最大和最小值 |
Math.random() | 獲取範圍在[0,1)內的隨機值 |
- Date物件
方法名 | 功能 |
---|---|
getFullYear() | 獲取年份 |
getMonth() | 獲取月份(0~11) |
getDate() | 獲取日期(1~31) |
getDay() | 獲取星期(0~6) |
getHours() | 獲取小時 |
getMinutes() | 獲取分鐘 |
getSeconds() | 獲取秒 |
- 字串物件
方法名 | 功能 |
---|---|
chatAt() | 返回在指定位置的字元 |
charCodeAt() | 返回在指定位置字元的unicode編碼(ASCII編碼) |
concat() | 連線字串 |
indexOf() | 從字串的開頭向後搜尋字串 |
lastIndexOf() | 從字串的末尾向前搜尋字串 |
match() | 找到一個或多個正規表示式的匹配 |
replace() | 替換與正規表示式匹配的字串 |
search() | 檢索與正規表示式相匹配的值 |
slice() | 提取字串的片段,並在新的字串中返回被提取的部分 |
split() | 把字串分割成字串陣列 |
substr() | 從起始索引號提取字串中指定數目的字元 |
substring() | 擷取字串中兩個指定的索引號之間的字元 |
toLowerCase() | 將字串轉換為小寫 |
toUpperCase() | 將字串轉換為大寫 |
toString() | 返回字串本身 |
valueOf() | 返回某個物件的原始值 |
trim() | 刪除前置及字尾的所有空格 |
- 陣列物件
方法名 | 功能 | 返回值 |
---|---|---|
push() | 在末尾新增元素 | 新陣列的長度 |
pop() | 刪除最後一個元素 | 刪除的元素的值 |
slice() | 擷取子陣列 | 新陣列 |
splice() | 通常用於刪除某個指定元素 | 新陣列 |
- JSON物件
方法名 | 功能 | 返回值 |
---|---|---|
JSON.parse(str) | 將JSON字串轉換成JS物件 | JS物件 |
JSON.stringify(obj, null, 2) | 將 JS 物件轉換為 JSON 字串 | JSON字串 |