我正在尝试命名我的jQuery应用程序。
示例:
var app = {
data : {
data1: ''
},
fn: {
setData1: function(value){
app.data.data1 = value
}
}
}
这是有效的,但有没有更好的解决方案不使用完整路径?而且,对于中型应用程序来说,这是一个很好的代码结构吗?
答案 0 :(得分:1)
Javascript没有用于指定嵌套文字对象定义中父元素的快捷方式的语法。事实上,Javascript是另一个对象中的嵌套对象可以在任何地方定义,并且引用分配到对象中并且可以分配给许多对象,因此就Javascript而言,在运行时没有真正的父对象。 Javascript只是没有这样做。
因此,如果要引用不在其下方的对象的另一个元素,则必须使用从对象顶部开始的对象名称的完整路径。
至于这是否是一种很好的方法,这完全取决于具体情况。乍一看(并且没有提供其他上下文),我不明白为什么您需要对象中的fn
或data
级别。数据属性和方法可以处于同一级别,通常在不添加额外级别的情况下完成。您会发现,不必要的额外级别只会增加代码中的输入量,并且不会提高性能。您应该为您的方法和数据属性提供足够有意义的名称,以便它们非常清楚它们是什么以及它们的用途。像data1
这样的名称并不是一个特别好的例子。
此外,通常没有理由为公共setData1()
属性制作data1
方法,但如果将它们放在同一级别,则可以使用{{1}方法中的指针,如果有人调用this
:
app
app.setData1()