一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第13天,点击查看活动详情。
字符串类型
- 正常字符串用单引号或者双引号
console.log('a')
console.log("神明")
- 转义字符串要在前面加\
console.log('ab\'c\'d') //ab'c'd
console.log('a\nb') // \n换行符
console.log('a\tb') // \t空格符
console.log("\u4e2d") // 中 Uincode字符(\u####)
console.log("\x41") // A Ascll字符
- 多行字符串编写(用tab上面的符号``括起来)
let string =
` hello
world
世界
你好
`
- 模板字符串
let name = "shenming";
let msg = `你好,${name}` //你好,shenming
- 字符串长度
console.log(str.length)
- 通过下标打印出字符串的元素
console.log(str[1])
- 验证字符串的不可变性
把student字符串的第二个元素改为1后,在输出发现还是student,因此字符串是不可变的
- 字符串大小写转换(调用方法)
str.toUpperCase() //大写
str.toLowerCase() //小写
- 获取字符串指定元素第一次出现的索引
student.indexOf('t') //1
- 截取指定字符串
student.substring(1,3) //tu 左闭右开区间
数组类型
一个js数组里面可以包含任意的数据类型
- 数组的定义和打印
- 数组的长度
arr.length
- 验证数组的可变性以及数组长度的可变性
1.把数组第一个元素变为0后,打印数组发现数组改变了,因此数组可变
2.把数组的长度赋值为10,打印出数组后,发现数组后面多了4个未定义的值,因此数组长度可变,如果长度赋值过小,元素就会丢失
-
获取下标索引
arr.indexOf(1) //补充 arr=[1,2,3,4,5,6,,"1","2"]//数字的1和字符串中的1不同
- 截取数组的一部分,返回一个新的数组(类似于substring)
arr.slice(1,3) //[2,3] 截取区间为左闭右开区间
- 数组的改动
arr.push('a','b','c') //在数组的后面添加元素
arr.pop() //弹出数组最后面的一个元素
arr.unshift('a','b','c') //在数组的头部添加元素
arr.shift() //弹出数组头部一个元素
- 排序
arr.sort()
- 数组元素反转
arr.reverse()
- 拼接,返回的是一个新数组,原数组不变
arr.concat([7,8,9])
- 将数组元素用指定的字符串拼接
arr.join('-')
- 多维数组
arr=[[1,2],[2,3],['a','b']]
arr[1][0] // 2 多维数组的取值
对象类型
1.对象的定义
var 对象名{
属性名:属性值,
属性名:属性值,
属性名:属性值,
属性名:属性值
} //用大括号,最后一个不加逗号
var person={
name:"shenming",
age:3,
sex:"男",
email:"3194525857@qq.com",
score:100
}
2.对象属性的赋值
person.name="桃花"
"桃花"
person.name
"桃花"
3.使用一个不存在的对象属性,不会报错,只会显示未定义undefined
person.class
undefined
4.动态的删减和添加属性
删除
delete person.age
true
person
{name: "桃花", sex: "男", email: "3194525857@qq.com", score: 100 }
添加
person.bieming="桃仙"
"桃仙"
person
{name: "桃花", sex: "男", email: "3194525857@qq.com", score: 100, bieming: "桃仙"}
5.判断属性是否在对象中
'age' in person
false
'name' in person
true
person.hasOwnProperty('name')
true
流程控制类型
1.if条件判断语句
var age=30;
if(age<3){
alert("xiaohai")
}else if(age>3&&age<10){
alert("小孩")
}else if(age>10&&age<20){
alert("daren")
}else {
alert("chenren")
}
2.while循环
var age=3;
while(age<100){
age=age+1
console.log(age)
}
3.for循环
var age=3;
for(let i=0 ;i<100;i++ ){
console.log(i)
}
4.forEach循环
forEach() 方法用于调用数组的每个元素,并将元素传递给回调函数
语法:array.forEach(function(currentValue, index, arr), thisValue)
参数 | 描述 |
---|---|
currentValue | 必需。当前元素 |
index | 可选。当前元素的索引值。 |
arr | 可选。当前元素所属的数组对象 |
thisValue | 可选。传递给函数的值一般用 "this" 值。 如果这个参数为空, "undefined" 会传递给 "this" 值 |
var arr = [1,2,3,4,5,6,7]
arr.forEach(function(value){
console.log(value)
})