1.字符串
1.正常字符串使用单引号,或者是双引号括起来
2.注意转义符号 \
\'--输出引号
\n--换行
\t--制表
\u#### :unicode字符 例"u4e2d"---中
Ascll字符 :"\x41"--A
3.多行字符串编写
//输出多行字符串
//`是esc下面的键~
var msg = `hello
world
aaa
aaaaa`
console.log(msg)
4.模板字符串
let name = "Lilili";
let age = '20';
let test = `你好,${name}`
console.log(test)
5.字符串长度和字符的查看
6.字符串是不可变的
7.大小写转换
注意这里是方法,不是属性
student.toUpperCase(student)
8.获取指定下标
indexof方法
9.截取字符串
substring [ )--包含前面不包含后面
2.数组
Array可以包含任意类型的数据
1.长度(可变)
注意:假如给arr.length赋值,数组大小就会发生变化,如果赋值过小,元素就会丢失
2.通过元素获得下标索引-indexof
3.slice()--截取数组的一部分,返回一个新数组,相当于字符串类型中的substring
4.添加和弹出数据
(1)尾部
push--在数组末尾添加元素
pop--弹出尾部的一个元素
(2)头部
unshift()--在头部添加数据
shfit()--弹出头部的一个元素
5.排序
console.log(arr.sort())
6.元素反转
console.log(arr.reverse())
7.拼接数组
console.log(arr.concat(["A",'B','C']))
注意:concat并没有修改数组,只是会返回一个新的数组值
8.连接符join(连接符号可以是任意的)
9.多维数组
3.对象
若干个键值对 XXX:xxx
var preson = {
//属性名 :属性值
name : "Lilili",
age : 21,
score :99
}
js对象中,{...........}表示一个对象,键值对描述属性XXX:xxx,多个属性之间使用逗号隔开,最后一个属性不加逗号。
1.给对象的属性赋值
2.使用一个不存在的对象属性,不会报错,只是undefined
3.动态的删减属性
删除属性 delete person.name
4.动态的添加--直接给新的属性添加值即可
5.判断属性值是否在这个对象中
'hahaha' in person
6.判断一个属性是否是这个对象自身拥有的
person.hasOwnProperty('toString')
4.流程控制
1.if判断
var age = 56;
if (age >0 &&age <3)
{
alert("哈哈哈哈好")
}
else if (age >3 && age<10){
alert("aoaoao")
}
else
{
alert('gagaga')
}
2.while循环,避免死循环
while (age <78)
{
age = age +1;
console.log(age)
}
3.for循环
let i = 0;
for (let i = 0; i <13 ; i++) {
console.log(i)
}
4.forEach循环
var arr = [1,23,2,4,56,7,5,3]
arr.forEach(function (value)
{
console.log(value)
})
5.for in 循环
for (var num in arr)
{
if (arr.hasOwnProperty(num)){
console.log("存在数字")
console.log(num)
}
}
5.Map和Set
map:
var map = new Map([['tom',99],['jerry',100]])
var name =map.get('tom') //通过key值设置value
console.log(name)
增加值-- map.set()
删除值--map.delete()
set:无序不重复集合(去重)
var set = new Set([1,1,2,3,3,1]);
console.log(set)
增加值--set.add()
删除值--set.delete()
是否包含某个元素:
console.log(set.has(3));
6.iterator
使用iterator来遍历迭代Map,Set!!
1.通过for in打印数组下标
2. 通过for of打印数组元素
3.遍历map---for of
4.遍历set--for of