标签:不能 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