JavaScript数据类型

JavaScript数据类型

3.1、字符串

  1. 正常字符串我们“ ”,‘ ’ 包裹

  2. 注意转义字符 \

    \'
    \n
    \t
    \u4e2d  \u####  Unicode字符
    
    
  3. 多行字符串编写

    var msg=`
            hello
            你好
            `
    
  4. 模板字符串

       let name="Nancy"
       let msg=`你好呀,${name}`
    
  5. 字符串长度

    console.log(str.length)
    
  6. 字符串的可变性,不可变

  7. 大小写转换

    //注意,这里是方法,不是属性
    (str.toLowerCase())
    (str.toUpperCase())
    
  8. 获取字符串的索引

    student.indexOf("t")
    
  9. 截取字符串

    [)
    student.substring(1) //从第一个字符串截取到最后一个字符串
    student.substring(1,3) //[1,3)
    

3.2、数组

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

var arr=[1,2,3,4,5] //通过下标取值和赋值

1、长度

arr.length

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

2、indexOf:通过元素获得下标索引

arr.indexOf(2)

字符串的"1"和数字1是不同的

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

arr.slice(3)

4、push , pop

push:压入到尾部
pop:弹出尾部的一个元素

5、unshift(),shift()头部

6、排序 sort()

arr.sort()

7、元素反转reverse()

["a","b","c"]
arr.reverse()
["c","b","a"]

8、concat() 拼接元素

arr.sort()
(6) [1, 2, 3, 5, 6, 7]
arr.concat(["a","b"])
(8) [1, 2, 3, 5, 6, 7, 'a', 'b']
arr
(6) [1, 2, 3, 5, 6, 7]

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

9、连接符 join

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

arr
(6) [1, 2, 3, 5, 6, 7]
arr.join('-')
'1-2-3-5-6-7'

10、多维数组

arr=[[1,2],[3,4],["5","6"]]
(3) [Array(2), Array(2), Array(2)]
arr[1][1]
4

数组:存储数据(如何存,如何取,方法都可以自己实现)

3.3、对象

若干个键值对

var 对象名={
    属性名:属性值,
  	属性名:属性值,
  	属性名:属性值
}
//定义了一个person对象,它有四个属性!
var person={
    name:"Nancy",
    age:3,
    email:"[email protected]",
    score:0
}

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

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

  1. 对象赋值

    person.name="hua"
    'hua'
    person
    {name: 'hua', age: 3, email: '[email protected]', score: 0}
    
  2. 使用一个不存在的对象属性,不会报错!undefined

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

    person
    {name: 'hua', age: 3, email: '[email protected]', score: 0}
    delete person.email
    true
    person
    {name: 'hua', age: 3, score: 0}
    
  4. 动态的添加,直接给新的属性添加值即可

    person
    {name: 'hua', age: 3, score: 0}
    person.habby="学习"
    '学习'
    person
    {name: 'hua', age: 3, score: 0, habby: '学习'}
    
  5. 判断属性值是否在这个对象中! xxx in xxx

    person
    {name: 'hua', age: 3, score: 0, habby: '学习'}
    'age' in person
    true
    'email' in person
    false
    
  6. 判断一个属性是否是这个对象自身拥有的hasOwnProperty()

    person.hasOwnProperty('toString')
    false
    'toString' in person
    true
    

3.4、流程控制

if判断

let age=3;
 if(age>3){
     alert("大朋友")
 }else{
     alert("小孩子")
 }

while循环,避免程序死循环

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

for循环

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

for in 循环

var age=[12,3,5,2,5,13,564]
for(let num in age){
    console.log(age[num]);
}

forEach循环

var age=[12,3,5,2,5,13,564]
age.forEach(function (value) {
    console.log(value)
})

3.5、Map和Set

ES6的新特性

//学生的成绩,学生的名字
var map = new Map([['tom',100],['jack',90]])
let tom = map.get("tom");//通过key获得value
map.set("admin","333");
console.log(tom)

Set:无序不重复的集合

let set=new Set([2,5,1,1]);//set可以去重
set.add(4);
set.delete (1);
console.log(set.has(2))  //是否包含某个元素7

3.6、iterator

ES6新特性

遍历数组

//通过for of实现 / for in 是下标
let arr=[3,4,5];
for (let number of arr) {
    console.log(number);
}

遍历map

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

遍历set

let set=new Set([5,6,7,8])
for (let setElement of set) {
    console.log(setElement);
}

你可能感兴趣的:(JavaScript,javascript,java,开发语言)