1.在javascript中,注释有两种:

(1)块注释  /* xxx */
(2)行注释  //
  但推荐使用行注释,因为块注释在某些情况下会是个糟糕的选择:
  例:  /* var r = /abc*/.match(s); */ 会导致产生语法错误
2.js 中如果想要遍历一个对象中的所有属性有两种方法:
(1)使用 for in 语句:
使用for in会列出所有的属性(包括函数和你可能不关心的原型中的属性),所以有必要过滤掉那些不想要的值
一般使用 hasOwnProperty 方法(过滤属性)和 typeof 操作符(过滤方法)
如: 
 
  1. var obj = { 
  2.             name:'Lucy'
  3.          sex:'M'
  4.          walk:function(){ 
  5.              alert("I'm walking!"); 
  6.          } 
  7.         }; 
  8. for(var k in obj){ 
  9.     if(typeof obj[k]!='function'){ 
  10.         alert(obj[k]); 
  11.     } 
在这里属性名出现的顺序是不确定的,因此要对任何可能出现的顺序有所准备。如果想要确保属性以特定的顺序出现,最好的办法就是完全避免使用 for in 语句,而是使用 for 语句
(2)使用 for 语句
此时需要创建一个数组,在其中以正确的顺序包含属性名:
 
  1. var props = ['name','sex']; 
  2. var obj = { 
  3.             name:'Lucy'
  4.             sex:'M'
  5.             walk:function(){ 
  6.                   alert("I'm walking!"); 
  7.             } 
  8.          }; 
  9. for(var i=0;i<props.length;i++){ 
  10.      alert(obj[props[i]]); 
总结:由此可见,通过使用 for 而不是 for in ,可以得到我们想要的属性,而不用担心可能发掘出原型链中的属性,并且可以按正确的顺序取得了它们的值
3.delete 运算符可以用来删除对象的属性。它将会移除对象中确定包含的属性,但不会触及原型链中的任何对象
  (删除对象的属性可能会让来自原型链中的属性浮现出来)