前言:

本文内容:数组类型详解、对象类型详解、分支和循环详解

推荐免费JavaScript基础讲解视频:【狂神说Java】JavaScript最新教程通俗易懂_哔哩哔哩_bilibili

数组类型详解

Array

可以包含任意的数据类型

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

长度

1
arr.length

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

indexOf

通过元素获得下标索引

1
arr.indexOf(2)

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

slice()

截取Array的一部分,返回一个新的数组;类似String中的substring;

push() pop()

1
2
push()  //压入到尾部
pop() //弹出尾部的一个元素

unshift() shift()

1
2
unshift()  //压入到头部
shift() //弹出头部的一个元素

排序 sort()

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

元素反转 reverse()

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

concat()

1
2
3
4
arr.concat([1,3,4])
(11) [1, 3, 4, 55, 2, 2, 4, 5, 1, 3, 4]
arr
(8) [1, 3, 4, 55, 2, 2, 4, 5]

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

连接符join

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

1
2
3
4
arr
(8) [1, 3, 4, 55, 2, 2, 4, 5]
arr.join('-')
'1-3-4-55-2-2-4-5'

多维数组

1
2
3
arr = [[1,2],[5,3],['a','c']];
arr[1][1]
3

数组:存储数据

对象类型详解

对象是若干个键值对

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

1
2
3
4
5
6
7
8
9
10
11
12
var 对象名 = {
属性名:属性值,
属性名:属性值,
属性名:属性值
}
// 定义对象
var person = {
name: '张三',
age: 3,
email: 'jokerdaxiong@qq.com',
score: 100
}

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

对象赋值

1
2
3
4
person.name='李四'
'李四'
person.name
'李四'

注意:js调用不存在的对象属性并不会报错,只会提示 undenfined

动态的删减属性

1
2
3
4
delete person.name
true
person
{age: 3, email: 'jokerdaxiong@qq.com', score: 100}

动态的添加属性

1
2
3
4
person.game='Celeste'
'Celeste'
person
{age: 3, email: 'jokerdaxiong@qq.com', score: 100, game: 'Celeste'}

判断属性值是否在对象中

1
2
3
4
5
'game' in person
true
//继承
'toString' in person
true

判断属性值是否为对象自身拥有

1
2
3
4
person.hasOwnProperty('toString')
false
person.hasOwnProperty('game')
true

分支和循环详解

if判断

1
2
3
4
5
6
7
8
9
'use strict'
let age = 3;
if(age > 3){
alert('true')
} else if(age = 3){
alert('相等')
} else{
alert('false')
}

while循环

1
2
3
4
5
6
7
8
9
// while循环
while(age<100){
age = age + 1;
console.log(age)
}
do{
age = age + 1;
console.log(age)
} while(age<100)

for循环

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

forEach输出数组

1
2
3
4
let score = [12,44,21,1,3,11,41,33];
score.forEach(function(value){
console.log(value)
})

for…in循环

1
2
3
4
let score = [12,44,21,1,3,11,41,33];
for (let num in score){
console.log(score[num]);
}