JavaScript——資料型別詳解

怒斥我的名字發表於2020-12-08

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:"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)
      })
      

相關文章