如果未在Javascript中声明变量,会发生什么?

时间:2017-11-18 01:52:53

标签: javascript variables memory memory-leaks declaration

例如,我有这样的代码:

var Player = function(param){
    var self = {
    x:0,
    y:0,
    spdX:0,
    spdY:0,
    id:"",
    }
    self.hp = 24;
}

我是否需要在var self = {}内添加hp?

2 个答案:

答案 0 :(得分:1)

我相信其他人误解了这个问题。如果我理解正确,您会询问动态向现有对象添加属性的任何潜在问题(与首次声明对象时相比)。答案是这样做很好,是常见的JS实践,应该没有负面的性能影响。

如果您来自静态类型语言背景,这是一个非常合理的问题。例如,在TypeScript中,您无法在定义对象后添加属性(请参阅this question)。这样做是为了:

  1. 类型安全(远方主要原因)

  2. 表演(可能)。

答案 1 :(得分:1)

没有

它完全没问题。放松。你的代码不会爆炸。呼吸。呼吸!好的,既然你已经安定下来......

性能方面,它是相同的*:Performance test

语法明智,它们都用于主要文档站点:developer.mozilla.org& W3Schools

*尽可能接近