数组增加新的数据
arr.push()
方法将一个或多个元素添加到数组的末尾,并返回该数组的新长度(重点)arr.push(元素1,...,元素n)
同时增加几个数组元素arr.unshift(新增的内容
)方法将一个或多个元素添加到数组的开头,并返回该数组的新长度
数组删除元素
arr.pop()
方法从数组中删除最后一个元素,并返回该元素的值arr.shift()
方法从数组中删除第一个元素,并返回该元素的值(被删除的元素)
例如
let arr = [ 'red ', 'green' ]
arr.shift()
console.log(arr) //[ ' green ' ]
arr.splice()
方法删除指定元素
arr.splice( start, deleteCount)
arr.splice(起始位置,删除几个元素)
解释
start
起始位置:解释:start起始位置
:指定修改的开始位置(从0计数)deleteCount
:表示要移除的数组元素的个数,可选的。如果省略则默认从指定的起始位置删除到最后
补充
- 当数字和字符串同时出现时,使用
+
会连接而不是运算
true 是 1 ,false 是 0,true+false=1
- 转义字符
\" \" \\
在前边加反斜杠\
“他说:\“好久不见\”
”
++
的用法
++i
,先自加再使用i++
,先使用再自加- 单独使用都一样
i++
有隐式转换,如果i为字符串“1”,i++=2
,而i=i+1
,不会转化为数值,而是字符串拼接成‘11‘
let i= 1
console.log(i++ + ++i + i) ///7 因为变成 1+3+3
比较运算符
- 比较运算符也有隐式转换
2>='2' // true
- 开发常用 === 判断相等,而不是==
- 尽量不要比较小数,因为精度问题
0.1 +0.2 ===0.3 // false
- 比较运算符也会发生隐式转换
注意
- 比较运算的结果只有false 和true
- 逻辑运算&& 和 || 的结果为最后被执行的表达式值
- 逻辑短路只发生在&&和 || 之中,当满足一定条件,让右边代码不执行
- 先 && 后 ||
例如
console.log(10 || 20) //10
console.log(10 && 20) //20
console.log(undefined && 20) //undefined
console.log (null && 20) //null
console.log(5<3 && 10) // false
有几个值当false 看
false 、 数字0, ‘’、undefined、null、NaN
字符串方法
slice(开始的索引,结束的索引)
提取字符串片段 留头不留尾 不包括结束索引
indexOf()
首次出现的索引位置
var h=hello;
console.log(h.indexOf(“l”)) // 2
lastIndexOf()
最后一次出现的索引位置
// 找不到 会返回-1
// 也可以传两个参数
console.log(h.indexOf(“l”,3)) //从索引为3的地方开始找“l”首次出现的索引位置
console.log(lastIndexOf(“l”,3)) //从索引为3的地方开始找“l”,并且会搜索到开头,“l”最后一次出现的索引位置
substr(起始的索引,提取的长度)
substring(起始的索引,结束的索引)
留头留尾 包括结束索引trim()
去除字符串两边的空白includes()
查找字符串中是否包含指定的子字符串
var h ="hello";
console.log(h.includes("l"))//true
repeat()
复制字符串的指定次数,并把它们连接在一起
var h ="hello";
console.log(h.repeat(2)) //hellohello
replace(被替换字符,新的字符)
var h ="hello";
console.log(h.replace("h","H")) //Hello
startsWith()
查看字符串是否以指定字符串开头
var h ="hello";
console.log(h.startsWith(“hel”)) //true
创建类 类名首字母大写
function Person(name,age,sex,hobby){
this.name = name;
this.age = age;
this.sex = sex;
this.hobby = hobby;
}
引用类 创建类的实例
var xiaoming = new Person("小明",20,“男”,function(){
console.log("爱好跳舞")
})