例如,我有這樣的代碼:如果變量未在Javascript中聲明,會發生什麼情況?
var Player = function(param){
var self = {
x:0,
y:0,
spdX:0,
spdY:0,
id:"",
}
self.hp = 24;
}
我需要裏面添加VAR self = {}
馬力?
例如,我有這樣的代碼:如果變量未在Javascript中聲明,會發生什麼情況?
var Player = function(param){
var self = {
x:0,
y:0,
spdX:0,
spdY:0,
id:"",
}
self.hp = 24;
}
我需要裏面添加VAR self = {}
馬力?
我相信別人誤解了這個問題。如果我理解正確,那麼您正在詢問有關將屬性動態添加到現有對象的任何潛在問題(與首次聲明對象時相比)。答案是,這很好,是常見的JS練習,應該沒有負面的性能影響。
如果您來自靜態類型的語言背景,這是一個完全合理的問題。例如,在TypeScript中,在定義了對象後,您無法將其添加到對象中(請參閱this question)。
類型安全(遙遙領先的主要原因)
性能(可能):這是完成的。
但問題不在於typeScript。 – charlietfl
@charlietfl我澄清了我的答案的第一部分。但是,我的意圖僅僅是使用TypeScript作爲示例來確認問題的有效性,這恰好是JavaScript的超集。 – davidchappy
這是完全正常的。放鬆。你的代碼不會爆炸。呼吸。呼吸!好吧,現在你已經安頓下來了...
表現明智,它是相同的*:Performance test。
語法明智的,他們都在各大網站的文檔使用:developer.mozilla.org & W3Schools
*好接近,因爲它得到
不......你在做什麼是標準的做法。您可以在聲明對象之後添加屬性 – charlietfl
唯一的問題是,如果在整個代碼中定義它們,那麼跟蹤哪些屬性和對象具有哪些屬性會變得很麻煩。但是這對於閱讀代碼的人來說是一個問題 - javascript不會抱怨。 –
你的問題是不正確的。當您填充它時,該屬性被「聲明」。這是如何完成的。只要您想將屬性添加到已定義的對象,就可以做到這一點。你不使用'var'作爲對象屬性。 –