我真的想知道除了在Object.list = {}和list = {}之间使代码更加结构化之外是否存在差异?
示例:
var Player = function(){
}
Player.list = {};
var list = {};
答案 0 :(得分:1)
Player.list
在<{strong> list
函数中定义Player
。因此,它只在该函数中具有范围,并且不能在函数之外使用(没有明确声明它是全局的)。相反,var list
允许您默认全局使用list
。
答案 1 :(得分:0)
当您声明如下变量时:
var list = {};
变量是在window
全局对象上创建的,它等同于以下代码:
window.list = {};
问题是页面上可能有几个JavaScript文件包含在两个或多个位置定义的相同变量,这会产生名称冲突问题。要避免这种情况,您可以声明自己的名称空间并在那里定义一个新变量
var Player = function(){
}
Player.list = {};