标签:不能 regex confirm 语句 对象 comment 双引号 null 原型
{...}表示一个对象,键值对以xxx: xxx形式申明,用,隔开。注意,最后一个键值对不需要在末尾加,,如果加了,有的浏览器(如低版本的IE)将报错。var xiaohong = {
name: ‘小红‘,
‘middle-school‘: ‘No.1 Middle School‘
};
而且访问非标准变量名的属性时也不能用.(点号),而要用[],例如:xiaohong[‘middle-school‘]; // ‘No.1 Middle School‘ xiaohong[‘name‘]; // ‘小红‘ xiaohong.name; // ‘小红‘ 属性名尽量使用标准的变量名,这样就可以直接通过object.prop的形式访问一个属性了。
undefined,删除一个属性:delect object.prop 如果我们要检测xiaoming是否拥有某一属性,可以用in操作符,例如:‘name‘ in xiaoming;
不过要小心,如果in判断一个属性存在,这个属性不一定是xiaoming的,它可能是xiaoming继承得到的:
‘toString‘ in xiaoming; // true
因为toString定义在object对象中,而所有对象最终都会在原型链上指向object,所以xiaoming也拥有toString属性。
要判断一个属性是否是xiaoming自身拥有的,而不是继承得到的,可以用hasOwnProperty()方法:
var xiaoming = {
name: ‘小明‘
};
xiaoming.hasOwnProperty(‘name‘); // true
xiaoming.hasOwnProperty(‘toString‘); // false
javascript把0、null、undefined、NaN、字符串‘‘视为false,其他都视为true。

for循环的3个条件都是可以省略的,如果没有退出循环的判断条件,就必须使用break语句退出循环,否则就是死循环:
var x = 0;
for (;;) { // 将无限循环下去
if (x > 100) {
break; // 通过if判断来退出循环
}
x ++;
}
for循环的一个变体是for ... in循环,它可以把一个对象的所有属性依次循环出来:
var o = {
name: ‘Jack‘,
age: 20,
city: ‘Beijing‘
};
for (var key in o) {
alert(key); // ‘name‘, ‘age‘, ‘city‘
}
由于Array也是对象,而它的每个元素的索引被视为对象的属性,因此,for ... in循环可以直接循环出Array的索引:
var a = [‘A‘, ‘B‘, ‘C‘];
for (var i in a) {
alert(i); // ‘0‘, ‘1‘, ‘2‘
alert(a[i]); // ‘A‘, ‘B‘, ‘C‘
}
请注意,for ... in对Array的循环得到的是String而不是Number。var arr = ["xiaoming","xiaohong","xiaoli"]; for (name in arr) {
alert(`hello,${arr[name]}`);
}
标签:不能 regex confirm 语句 对象 comment 双引号 null 原型
原文地址:http://www.cnblogs.com/jackyzhang20151122/p/6146998.html