首页 > 代码库 > javascript学习笔记(一)

javascript学习笔记(一)

        1. {...}表示一个对象,键值对以xxx: xxx形式申明,用,隔开。注意,最后一个键值对不需要在末尾加,,如果加了,有的浏览器(如低版本的IE)将报错。
        2. 属性名通过.(点号)来访问,但当属性名不是标准变量名时,需要用‘’(单引号)或“”(双引号)引起来,例如:
          var xiaohong = {
              name: ‘小红‘,
              ‘middle-school‘: ‘No.1 Middle School‘
          };
          而且访问非标准变量名的属性时也不能用.(点号),而要用[],例如:xiaohong[‘middle-school‘]; // ‘No.1 Middle School‘   xiaohong[‘name‘]; // ‘小红‘ xiaohong.name; // ‘小红‘   属性名尽量使用标准的变量名,这样就可以直接通过object.prop的形式访问一个属性了。
        3. JavaScript规定,访问不存在的属性不报错,而是返回undefined,删除一个属性:delect object.prop    
        4. 如果我们要检测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
          

              

        5. javascript把0、null、undefined、NaN、字符串‘‘视为false,其他都视为true。  
        6. alert() 技术分享   
        7. confirm() 技术分享
        8. prompt() 技术分享  
        9. for循环的3个条件都是可以省略的,如果没有退出循环的判断条件,就必须使用break语句退出循环,否则就是死循环:

          var x = 0;
          for (;;) { // 将无限循环下去
              if (x > 100) {
                  break; // 通过if判断来退出循环
              }
              x ++;
          }
            
        10. for循环的一个变体是for ... in循环,它可以把一个对象的所有属性依次循环出来:

          var o = {
              name: ‘Jack‘,
              age: 20,
              city: ‘Beijing‘
          };
          for (var key in o) {
              alert(key); // ‘name‘, ‘age‘, ‘city‘
          }
        11. 
          

          由于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 ... inArray的循环得到的是String而不是Number。var arr = ["xiaoming","xiaohong","xiaoli"];   for (name in arr) {
              alert(`hello,${arr[name]}`);
          }

        

javascript学习笔记(一)