本文已参与「新人创作礼」活动,一起开启掘金创作之路
数据类型
1.字符串
-
正常字符串我们使用 单引号,或者双引号包裹
-
注意转义字符\
\'
\n
\t
\u4e2d 中 \u#### Unicode字符
"x41" Ascll字符
- 多行字符串编写
var msg =
`Hello
World
你好呀
你好 `
- 模板字符串
'use strict';
let name = 'chuanqi'
let age = 3;
let msg = `你好呀,${name}`
console.log(msg)
>你好呀,chuanqi
- 字符串长度
str.length
-
字符串的可变性:不可变
-
大小写转换
//这里是放法,不是属性
str.toUpperCase()
str.toLowerCase()
-
str.indexOf('t')
-
student.substring(1,3)
student.substring(1)//从第一个字符串截取到最后一个字符串
student.substring(1,3) //[) 包含第一个 不包含第三个
2.数组
Array可以包含任意的数据类型
var array = [1,2,3,4,5,6]
- 长度
arr.length
- 给arr.length赋值,数组的长度会发生变化
- 赋值过小,元素就会丢失
- indexOf,通过索引获得下标位置
var arr = [1,2,3,"1","2"]
indexOf(1)
>0
indexOf("1")
>3
- slice() 截取arr的一部分,返回一个新的数组,类似于String中的substring
var arr = [1,2,3,"1","2"]
arr.slice(3)
>["1", "2"]
arr.slice(1,4)//[)包头不包尾
> [2, 3, "1"]
- push,pop 尾部
var arr = [1,2,3,"1","2"]
push:压入尾部
arr.push('a','b')
>[1, 2, 3, "1", "2", "a", "b"]
pop:弹出尾部
-
unshift(),shift()头部,同上4
-
sort() 排序
var arr = ['A','C','B']
>["A", "B", "C"]
- reverse()元素反转
8.concat() 拼接数组
arr.concat([1,2,3])
> ["A", "B", "C", 1, 2, 3]
arr
> ["A", "B", "C"]
concat()并没有修改数组,只是会返回一个新的数组
- join() 打印拼接数组,使用特定的字符串连接
arr.join("-")
"A-B-C-1-2-3"
- 多维数组
arr = [[1,2],[3,4],['5','6']];
arr[1][1]
>4
数组:存储数据(如何存,取)
3.对象
- 对象赋值
var 对象名 = {
属性名:属性值,
属性名:属性值,
属性名:属性值,
}
//
var person = {
name:"chuangqi",
age: 3,
email: "664474618@qq.com",
score:0
}
- 使用一个不存在的对象属性,不会报错!undefined
person.haha
>undefined
- 动态的删减属性
var person = {
name:"chuangqi",
age: 3,
email: "664474618@qq.com",
score:0
}
delete person.name
>{age: 3, email: "664474618@qq.com", score: 0}
4.动态的添加,直接给新的属性添加值即可
5.判断属性值是否在这个对象中 xxx in xxx
'age' in person
>true
- 判断一个属性是否是这个对象自身拥有的 hasOwnProperty()
person.hasOwnProperty('toString')
>false
person.hasOwnProperty('age')
true