class myClass() {
function doSomething(someVar) {
// do something here
}
// etc... (other methods and properties)
}
然后,当然,您可以在实例化该类之后调用该方法,就像这样:
$myObj = new myClass();
$myObj->doSomething();
但是您也可以选择将该方法作为独立函数调用,而不必实例化类(但在该函数中需要注意依赖项),如下所示:
myClass::doSomething();
我认为这是从C++借鉴过来的东西...在PHP代码中它被称为Scope Resolution Operator(Paamayim Nekudotayim)...
http://en.wikipedia.org/wiki/Scope_resolution_operator#PHP
http://www.php.net/manual/en/language.oop5.paamayim-nekudotayim.php
如何在JavaScript中实现这样的操作?这似乎不可能。
也许我正在错误地处理问题,我应该透露一下我想要实现什么...
我只需要一个像这样的函数:
function submitContactForm(form) {
// pretty JavaScript...
}
我很满意它是一个函数。但我想实现一个“resetContactForm()”,但希望它以某种方式附加到submitConatctForm函数。
我知道我可能可以这样做:
var contactForm = {
"submit" : function(form) {
//...
},
"reset" : function(form) {
//...
}
}
我本来会像这样回答我的问题...
但是,除了我不喜欢这种语法并且想要避免它之外,还有一个事实,上面的结构不能用作类定义,它与PHP中的不同...所以回到最初的问题:是否有一种JavaScript结构可以同时用作类定义和独立函数集合?
::
来表示静态函数和常量。你不能随意决定使用->
或者::
,你需要使用->
来表示实例化对象的函数和常量,而使用::
来表示类的静态函数和常量。 - chiliNUT