簡體   English   中英

如何防止jQuery擴展深層復制復制某些自定義屬性?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM