這次帶給大家javaScript的物件詳解,使用javaScript物件的意事項有哪些,下面就是實戰案例,一起來看一下。
1.物件是透過引用來傳遞,它們永遠不會被複製。
var x={};var stooge=x; stooge['a']='aaa';console.log(x.a);//aaa
2.可以透過為Object增加一個create方法,建立一個原始物件作為其原型的新對象,從而實現複製的效果。即改變新物件的值不會影響該物件的原型。
if(typeof Object.beget!=='function'){Object.create=function(o){var F=function(){}; F.prototype=o;return new F(); } }var another_stooge=Object.create(stooge);
typeof用於確定物件的類型。 (它會去檢查原型鏈)
hasOwnProperty方法不會去檢查原型鏈。
4.for in 可用來遍歷一個物件中所有屬性名,但是包含函數和原型鏈中的屬性也會被遍歷,這時,可以透過typeof或hasOwnProperty來排除你不想要的值。
var name;for(name in another_stooge){if(typeof another_stooge[name] !=='function'){ console.log(name+':'+another_stooge[name]) } }
但for in 方式屬性出現的順序時不確定的。
for迴圈是確定的。
建議使用陣列儲存變數值,然後使用for迴圈取遍歷。 (但個人覺得有你並不知道物件中有哪些key值,所以for in還是很有必要的。)
var arr=['a','b','c'];for(var i=0;i<arr.length;i++){console.log(arr[i]+':'+another_stooge[arr[i]]); }
5.delete運算子可以用來刪除物件的屬性,如果物件包含該屬性,那麼該屬性就會被移除,它不會觸及原型鏈中的任何物件。
刪除物件的屬性可能會讓原型鏈中的屬性透顯出來。
6.減少全域變數污染,最小化使用全域變數的方法之一是為你的應用只創建一個唯一的全域變數。把其它的變數或函數都放置該全域變數下。
var MyApp={}; MyApp.stooge={'first-name:'aaa' }; MyApp.flight=function(){}
我相信看了本文案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章!
推薦閱讀:
以上是javaScript的物件詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!