我正在看这样的事情:
function Lab = {
minseat: function(){
var seat = 10;
return seat;
},
maxseat: function(){
var seat = 50;
return seat;
}
}
问题是因为以下代码只会在运行时运行,因此代码的定位变得非常重要,因为我需要将它们置于调用的代码行(例如Lab.minseat()
)之上它
var Lab = {
minseat: function(){
var seat = 10;
return seat;
}
maxseat: function(){
var seat = 50;
return seat;
}
}
是的,我知道这个问题很愚蠢,很可能会吸引投票,但我想知道是否有可能吗?
答案 0 :(得分:4)
您正在尝试使用类似文字的功能。
在javascript中有一个名为文字的东西,它的工作方式与此类似,是的,它可以有多个。它的语法是这样的:
var foo = {
bar: functon(){},
foobar: function(){}
}
您可以像这样调用这些函数
foo.bar();
foo.foobar();
如果您希望函数具有可以在函数外部调用的函数,则可以使用prototype关键字:
function foo(){};
foo.prototype.bar = function(){};
您可以像这样调用这些函数
var f = new foo();
f.bar();
或者您可以使用此关键字
function foo(){
this.bar = function(){};
}
你可以这样称呼
var f = new foo();
f.bar();
或者如果您只想使用该函数中的函数,则可以使用var关键字
function foo(){
var bar = function(){};
}
您可以在此功能中调用此
bar();
如果您曾经使用类进行OO编程,那么解释可能会更容易一些。
将该功能视为一个类。它使用公共和私有成员和函数,在您可以指定这些函数的函数内,当使用var
关键字将这些视为私有成员和函数时,并且在使用this
关键字时将其视为公开的,prototype
成员的工作方式与this
非常相似,但我仍然没有考虑过差异。
将var
,this
和prototype
与函数一起使用时,这些都是面向对象编程方面的non static
。它需要一个对象引用。
这是因为分配是在您调用函数或创建新实例时完成的
调用new foo()
与调用foo()
时调用foo()
之间存在差异,但是当调用函数返回时,调用new foo()
会返回实例那个对象。
因此,要引用foo
的公共成员,您需要创建一个新的实例
有点想干掉这一切。的xD
答案 1 :(得分:3)
是的,但您的语法无效。
这是对象声明语法:
var obj = {
member: value,
anotherMember: value
};
这是函数语法,它只是常规语法:
function() {
// these are just regular statements
// no colons, no commas
function regularFunction() {
// ...
};
var anonymousFunction = function() {
// ...
};
}
你正在混合和匹配它们并且它没有正确解析。