我只是想更深入地了解Javascript。
我创建了一个“类” gameData
,只希望其中之一,不需要构造函数,也无需实例化。
所以我就这样创造了它…
var gameData = new function () {
//May need this later
this.init = function () {
};
this.storageAvailable = function () {
if (typeof (Storage) !== "undefined") {
return true;
}
else {
return false;
}
};
}
意识到’new’关键字不允许实例化并使它像静态类一样可用,将使用C#。
我是否正确地考虑了这一点?为静态?
不,它不是静态的,因为它仍然具有constructor
指向您的“匿名”函数的属性。在您的示例中,您可以使用
var gameData2 = new (gameData.constructor)();
重新实例化第二个对象,因此“类”(实际上是实例)并不是真正的“静态”。基本上,您正在 泄漏 构造函数,可能 还会泄漏
与其绑定的数据。另外,确实会创建一个 无用的
原型对象(gameData.constructor.prototype
),并将其插入的原型链中gameData
,这不是您想要的。
相反,您可以使用
这是单例模式的样子:
function GameData() {
if (this.constructor.singleton)
return this.constructor.singleton;
else
this.constructor.singleton = this;
// init:
// * private vars
// * public properties
// ...
}
GameData.prototype.storageAvailable = function () {
if (typeof (Storage) !== "undefined") {
return true;
}
else {
return false;
}
};
var gameData = new GameData();
var gameData2 = new GameData();
gameData === gameData2 === GameData.singleton; // true
但是,原型几乎没有用,因为您只有一个实例GameData
。继承只会变得有趣。
问题内容: 在另一个问题中,用户指出该关键字使用很危险,并提出了不使用该对象创建对象的解决方案。我不相信这是真的,主要是因为我使用了Prototype,Scriptaculous和其他出色的JavaScript库,并且每个人都使用了关键字。 尽管如此,昨天我还是在DouglasCrockford在YUI剧院观看了一次演讲,他说的一模一样,他不再在代码中使用关键字(JavaScript上的Crock
我在java中有以下正则表达式- 但这仍然匹配“”。 整个代码-
问题内容: 我正在查看Drupal 7的资源,发现了一些以前从未见过的东西。我在php手册中做了一些初步的了解,但没有解释这些示例。 关键字对函数内部的变量有什么作用? 问题答案: 它使函数记住多次调用之间给定变量的值(在您的示例中)。 您可以将其用于不同的目的,例如: 在此示例中,只能执行一次。即使会发生多次呼叫。
本文向大家介绍iOS static 关键字的作用?相关面试题,主要包含被问及iOS static 关键字的作用?时的应答技巧和注意事项,需要的朋友参考一下 (1)函数体内 static 变量的作用范围为该函数体,不同于 auto 变量,该变量的内存只被分配一次, 因此其值在下次调用时仍维持上次的值; (2)在模块内的 static 全局变量可以被模块内所用函数访问,但不能被模块外其它函数访问; (
问题内容: 在JavaScript中的关键字可能会相当混乱首次遇到它的时候,人们往往会认为JavaScript是不是面向对象的编程语言。 它是什么? 它解决什么问题? 什么时候合适,什么时候不合适? 问题答案: 它做五件事: 它创建一个新对象。这个对象的类型就是 object 。 它将这个新对象的内部不可访问的 [[prototype]] (即 proto )属性设置为构造函数的外部可访问 原型
问题内容: 我在RosettaCode上找到了以下Java代码示例: 我不是特别了解Java,但除了正则表达式本身以外,都了解此代码段的所有方面 当您在内置PHP函数中找到它时,我对Regex有了基本的了解。 素数如何匹配? 问题答案: 您说您了解这部分,但仅强调一下,生成的字符串的长度等于提供的数字。因此,当且仅当字符串包含三个字符。 正则表达式的第一部分说:“任何字符,零次或一次”。因此,基本