JavaScript对象使用和判断循环语法

对象

JavaScript的对象是一种无序的集合数据类型,它由若干键值对组成。用于描述某个对象;

var xiaohong = {
    name: '明明',
    'age': 18
};

JavaScript的对象用{}表示,键值对和Python的dict一样,但最后一个不用加',’,否则有些浏览器会报错。

由于把对象赋值给了变量,可以通过变量来访问属性;

xiaohong['name']; // '明明'
xiaohong.name; // '明明'
xiaohong['age']; // '18'
xiaohong.age; // '18'

并且JavaScript的对象是动态类型,可以自由的添加删除属性;

var xiaoming = {
    name: '小明'
};
xiaoming.age; // undefined
xiaoming.age = 18; // 新增一个age属性
xiaoming.age; // 18
delete xiaoming.age; // 删除age属性
xiaoming.age; // undefined
delete xiaoming['name']; // 删除name属性
xiaoming.name; // undefined
delete xiaoming.school; // 删除一个不存在的school属性也不会报错

如果需要查看是否有某个属性可以用in操作符;

var xiaoming = {
    name: '小小'
}
'name' in xiaoming; // true
'grade' in xiaoming; // false

有些属性可是继承过来的,如果要判断一个属性是否是对象自身所有的可以用hasOwnProProperty()方法;

var xiaoming = {
    name: '小明'
};
xiaoming.hasOwnProperty('name'); // true
xiaoming.hasOwnProperty('toString'); // false

条件判断

JavaScript用 if () {} else {} 表示和c语言一样如果只有一条语句可以省略{}

注意 JavaScript把null,undefined,0,NaN和空字符串‘’视为false,其他一概视为true

循环

JavaScript有两种循环,一种是和c语言一样的for循环通过初始条件、结束条件和递增条件来循环执行语句块;

var x = 0;
var i;
for (i=1; i<=10000; i++) {
    x = x + i;
}

也能用break语句停止循环

另一种和Python的循环一样for .. in 可以把一个对象的所有属性依次循环出来;

var o = {
    name: 'Jack',
    age: 20,
    city: 'Beijing'
};
for (var key in o) {
    if (o.hasOwnProperty(key)) {
        console.log(key); // 'name', 'age', 'city'
    }
}

由于数组也是对象,它每个索引视为对象的属性,因此for ,, in可以循环出数组的索引;

var a = ['A', 'B', 'C'];
for (var i in a) {
    console.log(i); // '0', '1', '2'
    console.log(a[i]); // 'A', 'B', 'C'
}

并且循环得到的是string而不是number。

while循环只有一个判断条件,条件满足,就不断循环,条件不满足时则退出循环。

有两种表示一种while () {} 或者 do {} while() 后一种一定循环一次

猜你喜欢

转载自www.cnblogs.com/hacknoone/p/13370929.html