前言:
本文内容:数组类型详解、对象类型详解、分支和循环详解
推荐免费JavaScript基础讲解视频:【狂神说Java】JavaScript最新教程通俗易懂_哔哩哔哩_bilibili
数组类型详解
Array
可以包含任意的数据类型
1 2
| var arr = [1,2,3,4,6,5] arr[0]=1
|
长度
注意:加入给arr.length赋值,数组大小就会发生变化;如果赋值过小,元素就会丢失。
indexOf
通过元素获得下标索引
字符串"1"和1是不同的
slice()
截取Array的一部分,返回一个新的数组;类似String中的substring;
push() pop()
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(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]); }
|