JavaScript回顧00:字串,陣列,物件和ES6新特性
3 資料型別
3.1 字串
1.正常字串我們使用單引號’'或者雙引號""包裹
2.注意轉義字元\
\'
\n
\t
\u4e2d \\Unicode字元
\x41 \\AscII字元
3.多行字串編寫
var msg =
`
hello
world
你好
中國
`;
使用的是tab上面的那個鍵 ``
4.模板字串
let name = "GrandNovice";
let age = 3;
let person = `你好,${name}`;
輸出:“你好,GrandNovice”
5.字串長度
str.length
6.字串每個元素
str[0]
7.字串的可變性
不可變
8.大小寫轉換
9.indexOf()
10.subString()同樣遵循前閉後開
3.2 陣列
JavaScript中的Array可以包含任意的資料型別,類比於python的list型別。
1.長度
arr.length
注意:陣列元素賦值可以改變陣列內容,陣列長度賦值可以改變陣列長度,變長補空,變短擷取
2.indexOf 通過元素獲得下標索引
arr.indexOf(3) //表示3出現在index=2的位置
//輸出2
字串的"1"和數字1是不同的
3.slice()擷取陣列的一部分,返回一個新的陣列。(常用)
arr.slice(a)擷取從第三個開始的後續陣列。
4.push pop
push方法的引數是要新增的元素,push方法在尾部新增元素
pop方法沒有引數,彈出尾部的元素
5.unshift() shift()
unshift() 壓入到頭部
shift() 彈出頭部的元素
6.sort()排序
7.reverse() 元素反轉
8.concat() 拼接
拼接不會改變原陣列,會返回一個新陣列
9.連線符join
將arr通過’-'將所有元素連線成一個字串
10.多維陣列
3.3 物件(對比JSON字串)
若干個鍵值對
var 物件名 = {
屬性名1: 屬性值,
屬性名2: 屬性值,
屬性名3: 屬性值
}
var person = {
name: "dongyang",
age: 20,
email: "12138@qq.com",
score: 100
}
1.物件賦值
person.name = "dy"
person.name
"dy"
2.使用一個不存在的物件屬性,不會報錯! undefined
person.haha
undefined
3.動態的刪減屬性
通過delete刪除物件的屬性
4.動態的新增,直接給新的屬性新增值即可
5.判斷屬性值是否在這個物件中 xxx in xxx!
JavaScript中的鍵都為字串型別,值為任意型別
6.判斷一個屬性是否是這個物件自身擁有的 hasOwnProperty()
由此可知,age是本身存在的,toString是繼承的
3.4 流程控制
if else 判斷
var age = 3;
if (age > 3) {
alert("haha")
}else if(age < 3){
alert("wuwuwu")
}else {
alert("hawu")
}
while和do…while迴圈
while (age<100) {
age++;
console.log(age);
}
do {
age++;
console.log(age);
}while(age<100)
for迴圈
for (let i = 0; i < 10; i++) {
console.log(i);
}
forEach迴圈 ES>5.1
age.forEach(function (value) {
console.log(value);
})
forin迴圈等效於java的增強for迴圈
'use strict';
var age = [12, 13 ,11 ,14, 15, 16];
for (let index in age) {
if (age.hasOwnProperty(index)) {
console.log("存在索引" + index); //索引
console.log(age[index]); //輸出值
}
}
3.5 Map 和 Set
ES6新特性 Map Set
Map
//ES6 新出Map和Set
//學生的成績,學生的名字
// var names = ["Tom", "Jack", "James"];
// var score = [100, 99, 98];
var map = new Map([["Tom", 100], ["Jack", 99], ["James", 98]]);
var name = map.get("Tom"); //通過key獲得value
map.set("admin", 123456); //增加
map.set("Tom", 0); // 修改
map.delete("Tom"); // 刪除
console.log(name);
Set:無序不重複的集合
var set = new Set([3, 1, 1, 1, 1, 1]); //set可以去重複
set.add(2); //新增
set.delete(1); //刪除
console.log(Array.from(set)); //輸出set元素
console.log(set.has(3)); //判斷是否包含3這個元素
3.6 iterator使用
ES6新特性
迭代遍歷
1.for of 實現
'use strict';
//for of 實現 , for in 輸出的是下標
//陣列
var arr = [3, 4, 5];
for (let x of arr) {
console.log(x);
}
//map
var map = new Map([["A", 100], ["B", 90], ["C", 80]]);
for (let x of map) {
console.log(x);
}
//set
var set = new Set([1, 2, 3, 4, 5, 5, 1]);
for (let x of set) {
console.log(x);
}
相關文章
- Javascript 物件 – 陣列物件JavaScript物件陣列
- ES6新增的陣列方法和物件方法陣列物件
- ES6 物件和陣列解構小記物件陣列
- 前端-JavaScript新特性(ES6)前端JavaScript
- 陣列和字串陣列字串
- JavaScript 之 物件/JSON/陣列JavaScript物件JSON陣列
- 深入理解 JavaScript 物件和陣列拷貝JavaScript物件陣列
- JavaScript split() 分割字串生成陣列JavaScript字串陣列
- JavaScript 字串轉換為陣列JavaScript字串陣列
- javascript ES6 新特性之 解構JavaScript
- Javascript中的陣列物件排序JavaScript陣列物件排序
- javascript陣列去重(ES6版)JavaScript陣列
- Javascript - 陣列和陣列的方法JavaScript陣列
- JavaScript2:變數、陣列、字串JavaScript變數陣列字串
- JavaScript將陣列轉換為字串JavaScript陣列字串
- 直播回顧| Apache Pulsar 2.10.0 新特性概覽Apache
- ES6新特性總結之解構賦值和字串模板賦值字串
- JavaScript學習四(object物件,陣列,)JavaScriptObject物件陣列
- 一文搞懂JavaScript陣列的特性JavaScript陣列
- 前端面試回顧(1)---javascript的物件導向前端面試JavaScript物件
- Javascript 物件 – 字串物件JavaScript物件字串
- 1.11 JavaScript2:變數、陣列、字串JavaScript變數陣列字串
- 使用JavaScript ES6的新特性計算Fibonacci(非波拉契數列)JavaScript
- C++基礎回顧4——動態陣列C++陣列
- JavaScript ES6 特性JavaScript
- JavaScript 深入之類陣列物件與 argumentsJavaScript陣列物件
- 字串和陣列常用方法整理字串陣列
- JavaScript陣列與字串相互轉換 join、splitJavaScript陣列字串
- JavaScript的字串、陣列以及DOM操作總結JavaScript字串陣列
- 回顧 ES5新增陣列方法 與實現陣列
- javascript知識回顧JavaScript
- JS 複製陣列和物件JS陣列物件
- JavaScript 的新陣列分組方法JavaScript陣列
- 前端筆記之JavaScript(五)關於陣列和字串那點事前端筆記JavaScript陣列字串
- JavaScript 推薦直接量建立陣列或者物件JavaScript陣列物件
- 從JavaScript中的類陣列物件說起JavaScript陣列物件
- ES6新特性
- 詳解JavaScript陣列特性與實踐應用JavaScript陣列