JavaScript——js数据类型详解

JavaScript——数据类型详解


字符串类型

  • 正常字符串用单引号或者双引号
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  左闭右开区间

jsString帮助文档

数组类型

一个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  多维数组的取值

jsArray帮助文档

对象类型

1.对象的定义

var 对象名{
    
    
    属性名:属性值,
    属性名:属性值,   
    属性名:属性值,  
    属性名:属性值   
}     //用大括号,最后一个不加逗号
 var person={
    
    
      name:"shenming",
      age:3,
      sex:"男",
      email:"[email protected]",
      score:100
    }

2.对象属性的赋值

person.name="桃花"
"桃花"
person.name
"桃花"

3.使用一个不存在的对象属性,不会报错,只会显示未定义undefined

person.class
undefined

4.动态的删减和添加属性

删除
delete person.age
true
person
{
    
    name: "桃花", sex: "男", email: "[email protected]", score: 100 }

添加
person.bieming="桃仙"
"桃仙"
person
{
    
    name: "桃花", sex: "男", email: "[email protected]", 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)
      })
      

猜你喜欢

转载自blog.csdn.net/wpc2018/article/details/110881872