簡體   English   中英

無法定義屬性“ _getObservable”:對象不可擴展

[英]Cannot define property '_getObservable': object is not extensible

我面臨一個問題,我不確定為什么。 我將StorageFile設置為javascript對象的屬性:

var myFile = MethodThatReturnsAFile();
var obj = { file: myFile };

問題出在我需要“克隆”該對象時。 基於很多關於此問題的答案,我開始使用此方法克隆對象:

    for (var pty in obj)
        if (obj.hasOwnProperty(pty) && target[pty] !== obj[pty])
            target[pty] = obj[pty];    

其中obj是我當前的對象,而target是我要創建的對象,在我的情況下是var target = {}
每當obj在其屬性之一中具有StorageFile時,它幾乎每次都能正常工作。 (我從主題中得到消息)

我無法理解Storagefile是密封的,無法擴展,但是為什么有人( WinJS? )試圖擴展它? 我應該更改clone方法還是不應該將StorageFile作為屬性值?

JavaScript對象屬性可能無法枚舉,並且對於'for'或'Object.keys'隱藏

查看defineProperty方法https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperty

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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