javascript学习笔记(二)
{...}表示一个对象,键值对以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的形式访问一个属性了。 - JavaScript规定,访问不存在的属性不报错,而是返回
undefined,删除一个属性:delectobject.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'); // falsejavascript把0、null、undefined、NaN、字符串''视为false,其他都视为true。- alert()
- confirm()
![]()
- prompt()
-
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]}`);
}


浙公网安备 33010602011771号