2.JS数据类型

2.数据类型

2.1 字符串

1.正常字符串我们使用单引号或者双引号包裹

2.注意转义字符‘ \ ’

 \'
 \n换行
 \t tab
 \u4e2d \u#### Unicode字符
 \x41 Ascll字符

3.多行字符串编写

 <script>
    'use strict'
    //``tab键上面esc键下面
    let msg=`asdasd
    adasdasd`
         
 </script>

4.模板字符串

  <script>
        'use strict'
        //``tab键上面esc键下面
        let name="cc";
        let msg=`你好,${name}`;
 </script>

5.字符串长度

console.log(student.length)

6.字符串的可变性/不可变

 let student="student"
 console.log(student[0])
 > s
 student[0]=1
 console.log(student)
 student

7.大小写转换

 //注意是方法不是属性
 console.log(student.toLocaleUpperCase())
 console.log(student.toLocaleLowerCase())

2.2 数组

Array可以包含任意的数据类型

 let arr=[1,2,3,4,5,6]//通过下标取值,赋值
 arr[0]
 arr[0]=1

1.长度

 arr.length

注意:假如给arr.length赋值,数组大小就会发生变化,如果赋值过小,元素就会丢失

2.indexOf,通过元素获得下标索引

 arr.indexOf(2)
 > 1

字符串”1“和数字1是不同的

3.slice()截取数组Array的一部分,返回一个新数组,类似于String中的substring

arr.slice(2)
>[3, 4, 5, 6]

4.push,pop

push:压入到尾部
pop:弹出尾部的一个元素
arr=[1, 2, 3, 4, 5, 6]
arr.push('a','b')
arr=[1, 2, 3, 4, 5, 6, 'a', 'b']
arr.pop()
arr=[1, 2, 3, 4, 5, 6, 'a']

5.unshift(),shift()头部

arr=[1, 2, 3, 4, 5, 6, 'a']
arr.unshift('a')
arr=['a', 1, 2, 3, 4, 5, 6, 'a']
arr.shift()
arr=[1, 2, 3, 4, 5, 6, 'a']

6.排序sort()

let arr=['B','C','A']
arr.sort()
arr=['A', 'B', 'C']

7.元素反转

arr.reverse()
arr=['C', 'B', 'A']

8.concat()

arr.concat([1,2,3])
['C', 'B', 'A', 1, 2, 3]

注意:concat()并没有修改数组,只是会返回一个新数组

9.连接符join

arr.join('-')
'C-B-A'

打印拼接数组,使用特定的字符串连接

10.多维数组

let arr=[[1,2],[3,4],["5","6"]]
arr[1][1]
4

2.3对象

若干个键值对

let 对象名={
属性名:属性值,
属性名:属性值,
属性名:属性值
}
//定义了一个person对象,它有四个属性
let person={
name:"cc",
age:3,
email:"2333@qq.com",
score:0
}

js中的对象,{....}表示一个对象,键值对描述属性xxxx:xxxx,多个属性之间用逗号隔开,最后一个属性不加逗号

JavaScript中的所有键都是字符串,值都是任意对象!

1.对象赋值

person.age
3
person.name
'cc'

2.使用一个不存在的对象属性不会报错,undefined

person.haha
undefined

3.动态的删减属性,通过delete删除对象的属性

person
> {name: 'cc', age: 3, email: '2333@qq.com', score: 0}
delete person.age
> true
person
> {name: 'cc', email: '2333@qq.com', score: 0}

4.动态的添加

person.haha="hahaha"
person
> {name: 'cc', email: '2333@qq.com', score: 0, haha: 'hahaha'}

5.判断属性值是否在这个对象中

'age' in person
> true
//继承
'toString' in person
> true

6.判断一个属性是否是自身拥有的

person.hasOwnProperty('toString')
> false
person.hasOwnProperty('age')
> true

2.4流程控制

if判断

 let age=3;
if(age>3){//第一个判断
alert("haha");
}else if(age>5){//第二个判断
alert("ha");
}else{//否则
lert("kuwa");
}

while循环

let age=3;
while(age<100){
age=age+1;
}
console.log(age)

for循环

 let age=3;
for(let i=0;i<100;i++){
console.log(i);
}

forEach循环

let age=[1,2,3,4,5,6,7,8,9];
age.forEach(function (value) {
console.log(value);
})

for循环

let age=[1,2,3,4,5,6,7,8,9];
for (let num in age){//for...in 是索引
console.log(age[num]);
}
for (let num of age){//for...of是元素
console.log(num);
}

 

2.5Map和Set

 //ES6 Map
 let map= new Map([['tom',100],['jack',90],['haha',80]]);
 let name= map.get('tom');//通过key获得value
 map.set('admin',123456);//新增或修改
 console.log(name);
 map.delete("tom");//删除

Set:无需不重复的集合

 let set=new Set([1,1,1,1,1,1])//set可以去重
 set.add(2)//添加
 set.delete(2)//删除
 console.log(set.has(1))//是否包含某个元素

2.6 iterator

ES6新特性

遍历Map

 let map=new Map([['tom',100],['jack',90],['haha',80]]);
 for(let x of map) {
    console.log(x)
 }

遍历Set

 let set=new Set([1,1,1,1,1,2,3])//set可以去重
 for(let x of set){
    console.log(x)
 }
 
posted @   l希尔瓦娜斯l  阅读(22)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示