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 運算符能夠用來刪除對象的屬性。它將會移除對象中肯定包含的屬性,但不會觸及原型鏈中的任何對象
(刪除對象的屬性可能會讓來自原型鏈中的屬性浮現出來)