对象
若干个键值对组成
// 定义了一个对象,这个对象有3个属性
var person = {
name: "hello",
age:12,
score: 60
}
js对象中,{...}表示一个对象,其中每个属性由键值对表示,通过诸如person.name去获取对应属性的值。 JavaScript中所有的键都是字符串,值是任意对象!
1. 对象赋值
person.name = "new_name"
console.log(person.name)
> new_name
2. 使用一个不存在的对象属性是不会报错的,只会说undefined
person.nonedefine
> undefined
3. 动态的删减属性,delete
delete person.name
true
4. 动态添加
person.adddata = "hhh"
5. 判断某个属性是否在person中
'age' in person
true
//继承
'toString' in person
true
6. 判断一个属性是否是这个对象自身拥有的 hasOwnProperty()
person.hasOwnProperty('toString')
false
person.hasOwnProperty('age')
true
循环控制
js的循环控制大同小异,这里讲一些比较特殊的存在。
var age = [1,2,3,4,5,6];
age.forEach(function (value){
console.log(value)
})
for(var key in age){
console.log(age[key])
}
Map与Set
Map: 其实就是词典
var names = ["tom","jack","haha"];
var scores = [100,90,80];
var map = new Map([['tom',100],['jack',90]]);
var score = map.get('tom');
console.log(score);
map.set('admin',123456);
> {'tom' => 100, 'jack' => 90, 'admin' => 123456}
Set:去重是其一大特性
var set = new Set([3,1,1,1]);//Set可以去重
> [3,1]
set.delete(1)
> [3]
console.log(set.has(3))
> true
set.add(2)
> [3,1,2]
iterator
var map = new Map([['tom',100],['jack',90]]);
for (let x of map){
console.log(x)
}
var set = new Set(5,6,7);
for (let x of set ) {
console.log(x)
}