JavaScript学习记录02了解数据类型
2.1数据类型
2.1.1字符串
1、正常字符串我们使用单引号或双引号包裹
2、注意转义字符‘\’
3、关于多行字符串编写
<script>
'use strict'
var msg = `hello world
你好
hello~
`
</script>
4、模板字符串
<script>
'use strict'
let name = "zhangsan";
let age = 3;
let msg = `你好,${name}`
console.log(msg);
</script>
5、字符串长度
6、字符串的可变性
虽然和Java不同,JS可以直接用下标打印,但字符串是无法用下标修改的
7、大小写转换
注意这里是方法,不是属性
8、下标
9、截取字符
2.1.2数组
Array可以包含任意的数据类型
1、长度
通过下标取值和赋值
注意:假如给arr.length赋值,数组大小就会变化,如果赋值过小,元素就会丢失
2、indexOf,通过元素获得下标索引
注意:字符串的“1”和数字1不同
3、slice() 截取Array的一部分,返回一个新的数组
类似于String中的substring
4、push()和pop()
push:压入到尾部
pop:弹出尾部的一个元素
5、unshift(),shift()
unshift:押入到头部
shift:弹出头部的一个元素
6、排序sort()
7、元素反转reverse()
8、元素拼接concat()
注意:concat()方法并没有修改数组,只是会返回一个新的数组
9、连接符join()
打印拼接数组,使用特定的字符串连接
10、多维数组
2.1.3对象
可视为若干个键值对
var 对象名 = {
属性名:属性值,
属性名:属性值,
属性名:属性值
}
如:
定义一个person对象,其拥有四个属性
var person = {
name: "zhangsan",
age:3,
email:"xxxx@163.com",
score:0
}
JS中的对象用大括号表示,键值对描述属性,多个属性之间使用逗号,最后一个属性不加逗号。
JS中所有的键都是字符串,值是任意对象
1、对象赋值
2、使用一个不存在的对象属性不会报错
3、动态删除属性,通过delete删除
4、动态添加属性,直接给新的属性添加值即可
5、判断属性是否在这个对象中 ‘xxx’ in xxx
6、判断一个属性是否是这个对象自身拥有的hasOwnProperty(‘’)
2.1.4流程控制
if判断
var age = 3;
if (age > 3) {
alert("haha");
} else {
alert("kuwa")
}
循环:while循环、for循环 略
数组循环
forEach循环
var age = [12,3,14,23,25,12,56,34,67];
age.forEach(function (value){
console.log(value)
})
for循环
var age = [12,3,14,23,25,12,56,34,67];
for (var num of age){
console.log(num);
}
var age = [12,3,14,23,25,12,56,34,67];
for (var num in age){
console.log(num);
}
for (var num of age)
:取数组值
for (var num in age)
:索引
2.1.5Map和Set
通过key获得value:
var map = new Map([['tom',100],['jack',90],['rose',80]]);
var name = map.get('tom');
console.log(name)
map.set('admin',123456);
Set:无序不重复的集合
var set = new Set([3,1,1,1]);
自动去重
添加:set.add(2);
删除:set.delete(2);
是否包含某个元素:console.log(set.has(3));
2.1.6遍历器(Iterator)
遍历器(Iterator)是一种接口,为各种不同的数据结构提供统一的访问机制。任何数据结构只要部署Iterator接口,就可以完成遍历操作(即依次处理该数据结构的所有成员)。
Iterator 的作用有三个:
- 为各种数据结构,提供一个统一的、简便的访问接口;
- 使得数据结构的成员能够按某种次序排列;
- ES6创造了一种新的遍历命令for…of循环,Iterator接口主要供for…of消费。
//通过for of实现
var age = [12,3,14,23,25,12,56,34,67];
for (var num of age){
console.log(num);
}
遍历map:
var map = new Map([['tom',100],['jack',90],['rose',80]]);
for (var x of map){
console.log(x);
}
遍历set:
var set = new Set([3,1,1,1]);
for (let x of set){
console.log(x);
}