JavaScript等效于这个小PHP代码
JavaScript equivalent of this small PHP code
我想要一个"static"方法"create",它在我的JavaScript代码中返回一个"class"的新实例。
在PHP中,我会这样做:
abstract class Object {
public static function create() {
return new static;
}
}
class Foo extends Object { }
$foo = Foo::create();
在JavaScript中,我有:
var Object = function() { };
var Foo = function() { };
Foo.prototype = new Object;
我想能够做到:
var foo = Foo.create();
有可能做到吗?如果是,我应该补充什么?
谢谢你的帮助。
它实际上非常简单,尽管可能会混淆什么是"静态"的语义:
function Foo(){
this.bar=true;
}
Foo.create= function(){ return new this; };
var foo = Foo.create();
根据OP的要求,替代版本适用于所有构造函数:
function Foo(){
this.bar=true;
}
Function.prototype.create= function(){ return new this; };
var foo = Foo.create();
我不确定这是否是你想要的,但它可能会有所帮助。
var Foo = {
create: function () {
function F() {}
// Add any default properties/methods/etc.
F.prototype.bar = true;
F.prototype.dr = function() { return "Pepper"; };
// Return a new object containing defaults listed above
return new F();
}
};
var baz = Foo.create();
相关文章:
- php代码在textbox更改事件上显示null
- 无法运行php代码,有角度路由问题
- jquery中的PHP代码不起作用
- 获取PHP代码中日期选择器的值
- PHP代码古埃及乘法javascript
- PHP代码中实现的JavaScript |if语句不起作用
- 如何将javascript变量传递到Php代码中.
- 在按钮'上运行PHP代码;s onclick事件,或者使用Ajax
- 停止直接执行php代码而不点击按钮
- php代码或脚本接受自动完成列表中文本框中的值
- 无法使autocompletion与bootstrap和php代码点火器一起工作
- 添加 PHP 代码的 Javascript 下拉框
- 在 php 代码中实现倒计时 js 倒计时
- AJAX 中的 PHP 代码到 POST
- 用于修改文档元素的 PHP 代码
- 链接适用于所有浏览器,除了 safari(php 代码)
- PHP 代码中的 CSS 弄乱了 IE9 中的布局
- Javascript的“document.write()”中的PHP代码
- JavaScript 函数在 php 代码中的调用中不起作用
- JavaScript 只在 php 代码中执行一次