JavaScript学习笔记——数据类型详解

目录

三、数据类型详解

3.1 字符串

3.2 数组

3.3 对象

3.4 流程控制

3.5 Map Set

3.6 iterator


往期内容:

 JavaScript学习笔记—— 快速入门(基本语法/数据类型快速浏览)

三、数据类型详解

3.1 字符串

1.正常字符串使用单引号,双引号包裹

console.log('a\'');
console.log("a");

2.注意转义字符

        \'  
        \n      //换行
        \t      //table
        \u####  //unicode字符  \u4e2d 中
        \x41    //ASCII字符    A

3.多行字符串编写

编写多行字符串用 ` `(键盘 Tab 上方 Esc 下方)

var msg=`hello
        world
        你好`;
console.log(msg);

多行字符串浏览器控制台打印效果

4.模板字符串

EL表达式 ${...} 

模板字面量提供了一种将变量和表达式插入字符串的简单方法。该方法称为字符串插值

        let name = "zhangsan";
        let msg =`hello,${name}`
        console.log(msg);

浏览器控制台打印效果

5.字符串长度

  • str.length

使用字符串的 length 属性,可以读取字符串的长度 

var stu="student"
console.log(stu.length)

 stu.length 浏览器控制台打印效果

6.字符串的可变性

var stu="student"            //定义字符串stu
console.log(stu[0])          //控制台打印,查看stu[0]的值
stu[0]=1                     //赋值,尝试改变stu[0]
console.log(stu[0])          //查看stu[0]的值是否发生变化

在浏览器控制台进行测试,发现字符串不可变

7.大小写转换

注意:这里是方法,不是属性

  • toUpperCase()        字符串转换为大写
  • toLowerCase()        字符串转换为小写
var stu="student"
stu.toUpperCase()    //字符串转换为大写

var abc="ABCDE"
abc.toLowerCase()    //字符串转换为小写

8.获取指定字符下标

indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置

var stu="student"
stu.indexOf('t')     //获取指定字符下标

9.截取字符串

substring() 方法用于提取字符串中介于两个指定下标之间的字符

var stu="student"
stu.substring(1)         //从第一个字符串截取到最后一个
stu.substring(1,3)       //截取字符串 包含前面不包含后面 [ )

3.2 数组

  • Array可以包含任意的数据类型
  • 通过下标取值和赋值

1.长度

length属性 设置或返回数组中元素的数量        arr.length

var arr=[1,2,3,4,5,6]
arr.length

注意:给arr.length赋值,数组大小会发生变化

  • 扩大长度: undefined
  • 赋值过小: 元素丢失
arr.length=10        //将arr的长度修改成10
arr                  //打印arr
arr[7]               //打印查看arr[7]的值

arr.length=3           //将arr的长度修改成3
arr                    //打印arr

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

indexOf() 在数组中搜索元素并返回其位置

arr=[1,2,3,'1',5]
arr.indexOf(1)
arr.indexOf('1')

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

3.截取数组的一部分

slice()  选择Array的一部分,并返回新数组,类似于String中的substring

var fruits = ["Banana", "Orange", "Lemon", "Apple", "Mango"];
var a = fruits.slice(1, 3);
typeof(a)    //查看数据类型
a            //控制台打印a

4.push()、pop()

  • push()         压入到尾部                 

  • pop()           弹出尾部的一个元素   

  • 这两个方法会改变数组的长度

var arr=[1,2,3]
arr.push('a')
arr

push() 将新元素添加到数组的末尾,并返回新的长度

var arr=[1,2,3,4,5]
arr.pop()
arr

pop() 删除数组的最后一个元素,并返回该元素

5.unshift()、shift()

  • unshift()           压入到头部

  • shift()              弹出头部的一个元素

  • 这两个方法会改变数组的长度

var arr=[1,2,3]
arr.unshift('A')
arr

unshift() 将新项添加到数组的开头,并返回新的长度

var arr=['S',1,2,3]
arr.shift()
arr

shift()  删除数组的第一个元素,并返回该元素

6.排序

默认情况下,sort() 方法将按字母和升序将值作为字符串进行排序

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

7.元素反转

 reverse() 方法反转数组中元素的顺序

var arr=['1','A',3]
arr.reverse()

8.连接数组

concat() 连接两个或多个数组,并返回已连接数组的副本

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

concat() 方法不会更改现有数组,而是返回一个新数组,其中包含已连接数组的值。

9.连接符

join() 将数组的所有元素连接成一个字符串

var arr=['1','A',3]
arr.join('-')

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

10.多维数组

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

3.3 对象

  • JavaScript中,{......}表示一个对象
  • 键值对描述属性
  • JavaScript中的所有键都是字符串,值是任意对象
  • 多个属性用逗号隔开,最后一个属性不加逗号
var 对象名 = {
            属性名: 属性值,
            属性名: 属性值,
            属性名: 属性值
        }

定义person对象,它有4个属性

        //定义person对象,它有4个属性
        var person={
            name:"hua",
            age:3,
            email:"123456@qq.com",
            score:100
        }

1.对象赋值

        person.name="xiaohua"
        person.name

使用一个不存在的对象属性,不会报错!返回 undefined

2.动态删减属性

通过delete删除对象的某个属性

delete person.age        //删除对象person的age属性

3.动态添加属性

动态的添加,直接给新的属性赋值即可

person.phone=123456789       //给对象person动态添加phone属性并赋值

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

in 运算符用来判断对象是否拥有给定属性   xxx in xxx

'age' in person

5.判断一个属性是否是这个对象自身拥有的

hasOwnProperty()方法会返回一个布尔值,指示对象自身属性中是否具有指定的属性

person对象中拥有的 toString() 是继承来的,不是自身拥有

所以 ’toString‘ in person 返回 true ,person.hasOwnProperty('toString') 返回 false

而age属性是person自身拥有的,所以 person.hasOwnProperty('age') 就会返回 true

3.4 流程控制

1.if判断

var age=9;
if(age<3){              //第一个判断
    alert("haha");
}else if(age<5){        //第二个判断
    alert("kuwa~");
}else{                  //否则...
    alert("ku~~")
}
//运行结果浏览器弹窗,内容:ku~~

运行结果浏览器弹窗,内容:ku~~

2.while循环

注意:避免程序死循环

        while (true){
            alert(123)
        }
//结果:浏览器一直弹窗
        var age=1;
        while (age<10){
            age=age+1;
            console.log(age);
        }

3.do...while循环

        var age=1
        do{
            age=age+1;
            console.log(age);
        }while(age<10)

4.for循环

for (let i=0;i<10;i++){
            console.log(i)
        }

5.forEach循环

ES5.1引入, forEach() 方法用于调用数组的每个元素,并将元素传递给回调函数

var age=[1,2,3,4];
        age.forEach(function (value){
            console.log(value)
        })

6.for…in循环

  • for in 语句循环遍历对象的属性
  • for(var index in object){ } 显示数组下标
var arr=['A','B','C'];
       for(var char in arr){
           console.log(char)
       }

7.for…of循环

在ES6中,增加了一个for of循环,得到的是元素

for of 语句循环遍历可迭代对象的值

var arr=['A','B','C'];
        for(var char of arr){
            console.log(char)
        }

3.5 Map Set

Map

  • ES6的新特性
  • Map 对象存有键值对,其中的键可以是任何数据类型
  • Map 对象记得键的原始插入顺序
  • Map 对象具有表示映射大小的属性
        //学生的成绩、学生的名字
        var map=new Map([['tom',100],['jerry',99],['haha',88]]);
        var name = map.get('tom');                //通过key获得value
        map.set('jerry',90);                      //修改
        map.set('zhangsan',66)                    //新增
        map.delete('tom')                         //删除

Set

  • Set 是唯一值的集合 
  • 每个值在 Set 中只能出现一次
  • 一个 Set 可以容纳任何数据类型的任何值
  • 无序不重复的集合  
        var set=new Set([3,1,2,1]); //set可以去重
        set.add(6);                 //添加
        set.delete(2);              //删除
        set.has(3);                 //是否包含某个元素

3.6 iterator

ES6 新特性,通过for of 实现         for in 不建议使用

1.遍历数组

 // 遍历数组
       var arr=[3,4,5];
        for(let x of arr){
            console.log(x);
        }

2.遍历Map

        var map=new Map([['tom',100],['jerry',99],['haha',88]]);
        for (let x of map){
            console.log(x);
        }

3.遍历Set

        var set=new Set([3,6,1,2,1]);
        for (let x of set){
            console.log(x);
        }

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
### 回答1: JavaScript数据类型包括基本数据类型和引用数据类型。基本数据类型有:字符串、数字、布尔值、null和undefined;引用数据类型有:对象、数组和函数。 字符串是由一系列字符组成的,可以使用单引号或双引号表示。数字可以是整数或浮点数,也可以使用科学计数法表示。布尔值只有两个取值:true和false。null表示一个空对象,undefined表示一个未定义的值。 对象是一种复合数据类型,可以包含多个属性和方法。数组是一种特殊的对象,可以存储多个值。函数是一种可执行的代码块,可以接受参数并返回值。 了解JavaScript数据类型对于编写高质量的JavaScript代码非常重要。在编写代码时,需要根据不同的数据类型选择合适的操作和方法,以达到最佳的效果。 ### 回答2: Javascript是一种灵活多变的语言,它支持多种数据类型,这也是Javascript可以灵活应用于不同场景的原因之一。在Javascript中,有六种基本的数据类型,分别是:字符串(String)、数字(Number)、布尔(Boolean)、未定义(Undefined)、空(Null)和对象(Object)。 1. 字符串(String):表示一串文本,使用单引号(' ')或双引号(" ")来表示。例如:var str = "Hello World!"。 2. 数字(Number):表示数字,整数和浮点数均支持。例如:var num = 100,var num = 3.14。 3. 布尔(Boolean):表示真假,只有两种状态,true(真)和false(假)。例如:var flag = true。 4. 未定义(Undefined):表示变量没有定义任何值,调用未定义变量的值会得到undefined。例如:var a; console.log(a); //输出undefined。 5. 空(Null):表示变量的值为空,使用null来表示。例如:var b = null。 6. 对象(Object):表示一组无序的键值对,也可称为“属性(property)”和“方法(method)”。例如:var obj = {name: "Bob", age: 18}。 以上六种基本数据类型都是独立的,但在Javascript中,还存在两种复合数据类型,分别是“数组(Array)”和“函数(Function)”。 1. 数组(Array):由一组有序的值组成,每个值都有一个对应的索引。数组的表现形式是用中括号([ ])将一组值括起来,每个值用逗号(,)隔开。例如:var arr = [1, 2, 3, 4, 5]。 2. 函数(Function):是带有执行语句的元素,能够在需要的时候被调用。函数有输入值(也称为参数),并且能够返回一个输出值。例如:function add(num1, num2) {return num1 + num2}。 在Javascript中,数据类型的转换非常灵活,可以通过多种途径实现类型的转换。例如,可以使用parseInt或parseFloat函数将字符串转换成数字,可以使用String()函数将其他类型转换成字符串。了解Javascript中的数据类型,可以更好地理解和运用Javascript。 ### 回答3: JavaScript是一种广泛使用的编程语言,它在web开发领域具有重要的地位。在JavaScript中,有许多不同的数据类型,这些数据类型对于实现不同的功能非常重要。JavaScript数据类型包括原始类型和对象类型,而各种类型都有不同的特点和使用方式。 在JavaScript中,最常见的原始数据类型包括: 1.字符串(String):字符串是一串字符组成的数据类型,可以用单引号或双引号来表示,也可以使用反引号来表示模板字符串。例如,'Hello world'、"JavaScript"、`My name is ${name}`都是字符串类型。 2.数值(Number):数值是表示数值的数据类型,可以是整数、浮点数等。例如,1、2.5、-3.14都是数值类型。 3.布尔值(Boolean):布尔值是表示真假的数据类型,只有true和false两个值。例如,true、false都是布尔值类型。 除了原始数据类型JavaScript还有对象类型,如下所示: 1.数组(Array):数组是一组有序的值,可以是任何类型的数据,用中括号[]来表示。例如,[1,2,3]、["a","b","c"]都是数组类型。 2.对象(Object):对象是一组键值对组成的无序集合,用花括号{}来表示。例如,{name:"Bob", age:20}就是一个对象类型。 3.函数(Function):函数是一段可以重复调用的代码块,可以有输入和输出。例如,function add(a,b){return a+b}就是一个函数类型。 4.日期(Date):日期是表示日期和时间的类型,用内置的Date对象表示。例如,new Date()会生成当前时间的Date对象。 总之,JavaScript数据类型很多,而且它们有各自的特点和用途。在学习JavaScript时,熟悉这些数据类型的概念和使用方式非常重要,这也是JavaScript编程基础中的重要组成部分。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

HUA_8376

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值