[英]How do I prevent a jQuery extend deep copy from copying some of my custom properties?
我在一些對象上有一些自定義屬性,我希望每個對象保持唯一。
但是,一些第三方代碼正在嘗試使用jQuery擴展我的某些對象-啟用了Deep-copy標志。
我想防止這些屬性被深復制。 我的直覺是用忽略我的屬性的函數覆蓋jQuery.extend(和jQuery.fn.extend)函數,但這聽起來像是過分殺了。
通過添加屬性
Object.defineProperty
枚舉參數設置為false不會被jQuery.extend捕獲。
a = { b: 'b'};
Object.defineProperty(a,'bb',{ get: function() {return "bb";},enumerable: false});
c = {};
jQuery.extend(c,a,a,a,a);
a.b // "b"
a.bb // "bb"
c.b // "b"
c.bb // undefined
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.