JavaScript   发布时间:2022-04-16  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了javascript – property vs var:性能问题是什么大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我在 javascript中制作一个蛇游戏,并在window.onload函数中创建对象和游戏循环.
window.onload = function() { ... Code ... };

现在我想知道在函数范围内创建的对象是否有效使用?使用这两种声明有什么区别?

1:

var Snake = { 
    x: null,y: null,initialize: function(x,y) { this.x = x; this.y = y },position: [x,y],move: function(x,y) { ... Code ... }
}

2:

function Snake(x,y) {
    this.x = x;
    this.y = y;
    this.position = function() { return [this.x,this.y]; };
    this.move = function(x,y) { ... Code ... };
}

我目前正在使用1:case并从window.onload函数的范围调用对象,例如它看起来像这样

Snake.initialize(x,y);
while(some condition) {
    Snake.move(x++,y);
}
and so on...

内存分配是否存在差异,是否存在一个性能问题?

解决方法

第一种方法仅使用对象文字表示法创建一个对象,而第二种方法使用构造函数方法,该方法可以创建对象的多个实例.

例如,方法2允许:

var snake1 = new Snake(1,2);
var snake2 = new Snake(2,2);
//now I have two snakes,however method 1 would only ever have one copy of snake.

使用方法1将为整个游戏提供一个Snake对象的全局实例.

创建对象的多个实例将需要更多资源,但是在这种情况下它可能不明显.如果您在游戏中只需要一条蛇,则使用方法一,如果您计划拥有多条蛇,则method2是正确的方法.在游戏中出现问题之前,我不会担心性能或资源使用情况.

Article on Constructor Function

大佬总结

以上是大佬教程为你收集整理的javascript – property vs var:性能问题是什么全部内容,希望文章能够帮你解决javascript – property vs var:性能问题是什么所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。