对象 流程控制
对象
var 对象名={
属性名:属性值,
属性名:属性值
}
var person={
name:"vvv",
age:3,
phone:123456
}
js中的对象,{...}表示一个对象,键值对描述对象xxxxx: xxxx, 多个属性之间的使用逗号隔开,最后一个不加逗号
js中的所有键都是字符串,值是任意对象
除了用person.age 取值外,也可以用person['age']来取值
- 对象赋值
person
{name: 'vvv', age: 3, phone: 123456}
person.name="水蜜桃" //赋值
'水蜜桃'
- 使用一个不存在的对象属性,不会报错,只会是undefined
person.over
undefined
- 动态删减 delete
person
{name: 'vvv', age: 3, phone: 123456}
delete person.age //删除age属性
true
person
{name: 'vvv', phone: 123456}
- 动态的添加,直接给新的属性添加值即可
person.age=12
12
person
{name: 'vvv', phone: 123456, age: 12}
- 判断属性值是否在这个对象中 xxx in xxx
'age' in person
true
//继承关系,会寻求到父类的方法
'toString' in person
true
注:因为键都是字符串,所以用'age'
- 判断一个属性自身是否有这个属性,用hasOwnProperty()
person.hasOwnProperty('toString')
false
person.hasOwnProperty('name')
true
流程控制
if 判断
var age=3;
if(age>5){
alert("哇哦");
}else{
alert("ok");
}
//会弹出ok
//else if也可以用
循环要避免程序死循环,否则只能关掉浏览器
var age=3;
while(age<100){
age++;
console.log(age);
}
//for循环,do{}while()循环也一样
遍历数组
//forEach循环
var arr=[1,2,3,4,5,7,8,9];
arr.forEach(function(value){
console.log(value)
})
//forin循环,一般不用
var arr=[1,2,3,4,5,7,8,9];
for(var num in arr){
console.log(num);
}//输出的是数组下标
for(var num in arr){
console.log(arr[num]);
}//遍历数组
//for of 遍历数组
var arr=[334,567,89];
for(var num of arr){
console.log(num);
}