1.1 字符串
1、正常字符串使用单引号或双引号包裹
2、转义字符 \
\'
\n
\t
\u4e2d \u#### Unicode编码
\x41 AscII码
3、多行字符串
<script>
'use strict'
var msg = `
hello
world
test`
</script>
4、模板字符串
<script>
'use strict'
let name = "孙笑川";
let age = 30;
let mgs = `你好,${name}`
</script>
5、字符串长度
console.log(str.length)
6、字符串的可变性,不可变
7、大小写转换
str.toUpperCase(); //大写
str.yoLowerCase(); //小写
8、student.indexOf('t'); //在student字符串中,t是第几个元素 //第1个
9、substring
[a,b) //a <= str < b
student.substring(1); //从第一个字符串截取到最后一个字符串
student.substring(1,3); //[1,3)
1.2 数组
Array可以包含任意的数据类型
var arr = [1,2,3,4,5,6]; //通过下边元素取值和赋值
arr[0];
arr[0] = 1;
1、长度
arr.length
注:如果给arr.length赋值,数组的大小就会发生变化,如果赋值过小,数组里原本的元素就会丢失
2、indexOf,通过元素获得下标索引
arr.indexOf(2);
注:字符串的"1"和数字 1 是不同的
3、slice() 截取Array的一部分,返回一个新的数组,用法类似于substring
4、push()、pop() 尾部
push:压入元素到尾部
pop:弹出尾部的元素
5、unshift()、shift() 头部
unshift:压入元素到头部
shift:弹出头部的元素
6、排序 sort()
arr
(3) [2, 1, 3]
arr.sort()
(3) [1, 2, 3]
7、元素反转 reverse()
8、拼接 concat()
(3) [3, 2, 1]
arr.concat(["A","B","C"])
(6) [3, 2, 1, "A", "B", "C"]
arr
(3) [3, 2, 1]
注:concat()并没有修改原来的数组,只是返回了一个新的数组
9、连接符 join
arr
(3) [3, 2, 1]
arr.join('-')
"3-2-1"
打印拼接数组,使用特定的字符串连接
10、多维数组
arr = [[1,2],[3,4],[5,6]];
arr[1][0]
3
1.3 对象
var 对象名 = {
属性名:属性值,
属性名:属性值,
属性名:属性值
}
var person = {
name:"sun",
age:3,
address:"kunming"
}
在js中,{……}表示一个对象,以键值对的形式描述属性 xxx:xxx,每一个属性末尾以逗号隔开,最后一个属性不加逗号
==JavaScript中所有的键都是字符串,值是任意对象==
1、对象赋值
person.name = "yaoshui"
"yaoshui"
person.name
"yaoshui"
2、使用一个不存在的对象属性,不会报错
person.email
undefined
3、动态的删减属性 delete
delete person.name
true
person
4、动态的添加,直接给新的属性添加值即可
person.email = "xxx@qq.com";
"xxx@qq.com"
person
5、判断属性值是否在对象中 xxx in xxx
'age' in person
true
//继承
'toString' in person
true
6、判断一个属性是否是对象本身就存在的
person.hasOwnProperty('toString')
false
person.hasOwnProperty('age')
true
1.4 流程控制
if判断
var age = 3;
if(age)>3{
alert("哈哈");
}else {
alert("哭哭");
}
while循环,避免程序死循环
var age = 3;
while(age<100){
age = age +1;
console.log(age);
}
for循环
for(let i = 0; i < 100; i++){
console.log(i);
}
forEach循环
ES5.1引入
var age = [1,2,3,4,5];
//函数
age.forEach(function(value){
console.log(value);
})
for...in
<script>
'use strict'
var age = [1,2,3,4,5,6];
/*
* for(Type str:el) java
* for(var index in object){} javascript
*/
for (var num in age){
if (age.hasOwnProperty(num)){
console.log(age[num]);
}
}
</script>
1.5 Map和Set
ES6的新特性
1、Map
<script>
'use strict'
//ES6
//统计学生成绩、名字
// var name = ["孙笑川","药水哥","Giao哥"];
// var score = [100,99,98];
var map = new Map([['孙笑川',100],["药水哥",99],["Giao哥",98]]);
var name = map.get("孙笑川"); //通过key获得value
map.delete("药水哥"); //删除
map.set("admin",101); //新增或修改
console.log(name);
</script>
2、Set:无序不重复的集合
set.add(2); //添加
set.delete(1); //删除
console.log(set.has(3)); //是否包含某个元素
1.6 iterator
ES6新特性
1、遍历数组
//通过for of实现便利数组
//for in是打印输出下标
var arr = [1,2,3,4];
for (let values of arr){
console.log(values);
}
2、遍历Map
var map = new Map([['孙笑川',100],["药水哥",99],["Giao哥",98]]);
for (let values of map){
console.log(values);
}
3、遍历Set
var set = new Set([3,1,7,7,9,7]);
for (let values of set){
console.log(values);
}
评论 (0)