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