JavaScript 没有任何类。它只有对象,对象就像 PHP 中的关联数组。例如,考虑以下 PHP 代码:
$foo = array(
"bar" => "baz",
"baz" => "bar"
);
在 JavaScript 中,你可以这样写:
var foo = {
bar: "baz",
baz: "bar"
};
然而,JavaScript 真正酷的地方在于它具有一流的功能。PHP 没有(@$&#%!PHP)。这意味着 JavaScript 中的函数只是值。您可以将它们存储在变量中,将它们作为参数传递并返回值,甚至将它们放在对象上。例如:
var object = {
add: function (x, y) {
return x + y;
}
};
object.add(2, 3); // 5
有趣的是,JavaScript 是函数式和面向对象编程风格的融合,这两种编程风格如此错综复杂地交织在语言的结构中,以至于无法将它们分开。
例如,在 JavaScript 中创建对象的主要方法是使用函数。一个函数可以被正常调用,也可以作为构造函数调用(即通过在函数调用前加上new
关键字)。当函数作为构造函数调用时,JavaScript 在后台创建一个新对象,并使用构造函数对其进行初始化。例如:
function Person(firstname, lastname) {
this.fullname = firstname + " " + lastname;
}
var me = new Person("Aadit", "Shah");
alert(me.fullname); // Aadit Shah
在您的情况下,函数Server
是对象的属性static
(这有效地使函数Server
成为 的方法static
)。与其他编程语言中的方法一样,我们将其称为如下:
static.Server();
this
在这种情况下,函数内部的特殊变量Server
将指向对象static
,因为它被称为static
. 但是this
并不总是static
取决于情况:
var o = {};
var Server = static.Server;
Static(); // this will be the global object
Static.call(o); // this will be the object o
new static.Server; // this will be the newly created object
如您所见,JavaScript 是一种非常动态且用途广泛的语言,它比PHP 强大得多。我建议你从这里开始学习 JavaScript:https ://developer.mozilla.org/en/learn/javascript