三、数据类型
3.1字符串
1.正常字符串我们使用单引号,或者双引号包裹
2.注意转义字符\
\'
\n
\t
\u4e2d \u### unicode字符
\x4l Ascll字符
3.多行字符串编写
//tab 上面esc键下面
var msg =
`hello
world
你好ya
你好`
4.模块字符串
//tab 上面esc键下面 `
let name ="qinjiang";
let age=3;
let msg= `你好呀,${name}`
var msg =
`hello
world
你好ya
你好`
5.字符串长度
//网页控制台
console.log(str.length)//str为任意变量字符串
6.字符串的可变性,不可变
var student="student"
1.console.log(student[0])
//输出: s
2.student[0]=1
//输出: 1
3.console.log(student)
//输出:student
7.大小写转换
//注意,这里是方法,不是属性
student.toUpperCase()
student.toLowerCase()
8.查找位置
student.LindexOf("t)
9.substring 从第一个字符串截取到最后一个字符串
[)
student.substring(1)//从第一个字符串截取到最后一个字符串
student.substring(1,3) //[1,3)
3.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"和数字1是不同的
3.slice()截取Array的一部分,返回一个新的数组,类似于String 中的substring
4.push,pop
push:进入到尾部
pop:弹出尾部的一个元素
5.unshift(),shift()
unshift:压入到头部
shift:弹出头部的一个元素
6.排序sort()
7.元素反转reverse()
8.concat()
(3)["C","B","A"]
arr.concat([1,2,3])
(6)["C","B","A",1,2,3]
arr
(3)["C","B","A"]
注意:concat()并没有修改数组,只是会返回一个新的数组
9.连接符join
打印拼接数组,使用特定的字符串连接
10.多维数组
数组:存储数据(如何存,如何取,方法都可以自己实现)
3.3、对象
若干键值对
var 对象名={
属性名: 属性值,
属性名: 属性值,
属性名: 属性值
}
//定义了一个person对象,它有四个属性
var person= {
name:"jiangyou",
age:3,
email:"956252@qq.com"
score:0
}
1、对象赋值
person.name="youzong"
//youzong
2、使用一个不存在的对象属性,不会报错!undefined
person.haha
//undefined
3、动态的删减属性
delete person.name
//ture
person
4、动态的添加
person.haha ="haha"
//"haha"
person
5、判断属性值是否在这个对象中 xxx in xxx!
'age' in person
// true
//继承
'toString' in person
true
6、判断一个属性是否是这个对象自身拥有的hasOwnProperty()
person.hasOwnProperty('toString')
//false
person.hasOwnProperty('age')
//true
3.4、流程控制
1.if判断
var age=3;
if(age>3){ //第一个判断
alert("haha");
}else if(age<5) {
alert("jiang");
}else{ //否则
alert("youyou");
}
2.while循环,避免程序死循环
while(age<100){
age=age+1;
console.log(age)
}
do{
age=age+1;
console.log(age)
}while(age<100)
3.for循环
for(let i=0;i<100;i++){
console.log(i)
}
4.数组循环forEach
var age=[12,3,4,5,6,3,12,123]
//函数
age.forEach(function (value){
console.log(value)
})
5.for...in
var age=[12,3,4,5,6,3,12,123]
//for(var index in object){}
for(var num in age){
if(age.hasOwnProperty(num)){
console.log("存在")
console.log(age[num])
}
}
3.5、Map和Set
Map:
//ES6 Map
//学生的成绩,学生的名字
//var names = ["tom","jack","haha"];
//var scores=[100,90,80];
var map = new Map([['tom',100],['jack',90],['haha',80]]);
var name=mop.get('tom');//通过key获得value
map.set('admin',123456);
console.log(name);
map.delete("tom");
Set:无序不重复的集合
//ES6 Map
//学生的成绩,学生的名字
//var names = ["tom","jack","haha"];
//var scores=[100,90,80];
//var map = new Map([['tom',100],['jack',90],['haha',80]]);
//var name=mop.get('tom');//通过key获得value
//map.set('admin',123456);
//console.log(name);
var set=new Set([3,1,1,1]);//set可以去重
set.add(2);
set.delete(1);
console.log(set.has(3));//是否包含某个元素
3.6 iterator
作业:使用iterator来遍历迭代我们的Map,Set
//通过for of/ for in 下标
var arr =[3,4,5]
for(var x of arr){
console.log(x);
}
var map = new Map([['tom',100],['jack',90],['haha',80]]);
for(let x of map){
console.log(x)
}
var set = new Set([5,6,7]);
for(let x of set){
console.log(x);
}
摘录自遇见狂神说,仅供自己学习使用