考慮例如我可以通過API調用獲得的Position對象。瀏覽器API返回的對象是const嗎?
如果我打電話不止一次,將API返回相同的(單),Position對象每次API,它編輯後/更新對象的屬性值?或者它會每次都實例化並返回一個新對象?
I.e.如果我存儲了Position對象,那麼存儲/舊值可能會被下一個API調用覆蓋?爲了避免這種可能性,必須克隆/複製它?
某處定義這個行爲(所有API或者每個API)?
我猜的API(和和所有API)返回新的對象,但我不知道我是否可以依靠。
考慮例如我可以通過API調用獲得的Position對象。瀏覽器API返回的對象是const嗎?
如果我打電話不止一次,將API返回相同的(單),Position對象每次API,它編輯後/更新對象的屬性值?或者它會每次都實例化並返回一個新對象?
I.e.如果我存儲了Position對象,那麼存儲/舊值可能會被下一個API調用覆蓋?爲了避免這種可能性,必須克隆/複製它?
某處定義這個行爲(所有API或者每個API)?
我猜的API(和和所有API)返回新的對象,但我不知道我是否可以依靠。
API規範應該告訴你發生了什麼。例如getCurrentPosition
(強調我的):
當被調用時,它必須立即返回,然後異步地嘗試獲取設備的當前位置。如果嘗試成功,則
successCallback
必須調用(即handleEvent
操作必須回調對象上調用)與新Position
對象,反映設備的當前位置。
謝謝。與[dandavis評論]聯合(http://stackoverflow.com/questions/38438243/are-objects-which-are-returned-by-browser-apis-const/38438376#comment64282312_38438243)這似乎是一個完整的答案。 – ChrisW
它取決於API:'getElementsByTagName()'-vs-'XMLHttpRequest'例如。 9/10倍,特別是從地理位置,你會得到新的清潔對象。 – dandavis