一、字符串
1.字符串类型
(1)''abc'' 'abc'
(2)转义字符
①\ ' :单引号
②\ n:换行
③\ t :水平制表
④\ u###:Unicode字符 (例:\ u42d表示中)
⑤\ x## (例:\ x41表示A)
(3)多行字符串:` `
例:
var msg =
`hello
world
你好
世界`
(4)模板字符串:${ }
例:
let name="xiaoming";
let age=3;
let msg=`你好呀,我叫${name},今年${age}岁。`
2.字符串长度
str.length
3.字符串的可变性
JS中字符串是不可变的,通过下标来获取
例:
student[0]=1;
console.log(student);
//结果仍为student
4.大小写转换
(1)小写转大写
toUpperCase()
例:
student.toUpperCase()
//结果为STUDENT
(2)大写转小写
toLowerCase()
例:
STUDENT.toLowerCase()
//结果为student
5.获取下标
indexOf()
例:
student.indexOf('t')
//结果为 1
6.截取字符串
substring()
例:
student.substring(1)
//从第2个字符串截取到最后一个字符串
//结果为tudent
student.substring(1,3)
//从第2个字符串截取到第3个字符串
//结果为tu
二、数组
1.array可以包含任意数据类型
例:定义一个数组
var arr=[1,2,3,4,5,6];
通过下标取值和赋值
arr[0] = 0;
2.数组长度
arr.length
注:假设给arr.length赋值,数组的长度大小就会发生变化,调用未赋值的元素为undefined,但如果赋值过小,元素就会丢失。
3.获取元素对应下标索引
indexOf()
例:
arr.indexOf(2)
//结果为 1
4.slice()
截取Array的一部分,返回一个新的数组,类似于String中的substring
5.尾部操作
push()
//压入元素到尾部
pop()
//在尾部弹出一个元素
6.头部操作
unshift()
//压入元素到头部
shift()
//在头部弹出一个元素
7.数组排序
sort()
例:定义一个数组
var arr1=["B","C","A"];
arr.sort()
//结果为["A","B","C"]
8.反转
reverse()
例:定义一个数组
var.arr=["c","b","a"];
arr.reverse()
//结果为["a","b","c"]
9.拼接
concat()
例:定义一个数组
var.arr=["c","b","a"];
arr.concat([1,2,3])
//结果为["a","b","c",1,2,3]
10.连接符
join:打印并拼接数组,使用特定字符串连接
例:定义一个数组
var.arr=["c","b","a"];
arr.join('-')
//结果为"c-b-a"
11.多维数组
例:
arr = [[1,2],[3,4],["5","6"]];
三、对象类型
1.由若干个键值对组成
var 对象名 = {
属性名: 属性值,
属性名: 属性值,
属性名: 属性值
}
例:定义一个person
var person = {
name:"xiaoming",
age:3,
phone:123456789,
score:59
}
2.对象属性赋值
person.name = "xiaoming";
3.使用不存在的对象属性:不会报错,返回undefined
4.删除属性:delete
例:
delete person.phone
5.添加属性:直接加即可
例:
person.say = "haha"
6.判断属性值是否在这个对象中:xxx in xxx
例:
'age' in person
//结果为true
7.判断一个属性是否是自身拥有的: hasOwnProperty
例:
person.hasOwnProperty('age')
//结果为true
person.hasOwnProperty('toString')
//结果为false
注:JavaScript中的所有的键是字符串,值是任意对象
例:
person['age']
四、分支和循环
1.if语句
例:
if(score>=60) {
alert("过");
} else if(score<60&&score>0) {
alert("挂科");
} else {
alert("重修");
}
2.do while和while
区别:do-while一定会执行一次
while先判断,再决定是否执行
3.for循环
例:
for(let i=0;i<100;i++)
{
console.log(i)
}
4.forEach(5.1引入的特性)
例:
var arr=[1,2,3,4,5];
arr.forEach(function(value)
{
console.log(value)
})
5.for…in循环
for(var index in arr) { }
例:
for(var num in arr) {
console.log(arr[num])
}
注:索引值(下标)
五、map和set(ES6刚出)
1.map
例:
var map = new Map([['tom',100],['jack',90],['peter',80]]);
var name1 = map.get('tom');
(1)增加或修改
例:
map.set('david',60);
(2)删除
例:
map.delete("tom");
2.Set
无序不充分集合
(1)添加
set.add();
(2)删除
set.delete();
(3)是否包含某个元素
set.has();
六、iterator迭代
for…in (只能用下标来遍历)
for…of
例:
var arr = [3,4,5];
for(let x of arr) {
console.log(x);
}
参考:https://www.cnblogs.com/moumoon/p/10997489.html
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Symbol/iterator