作者热门文章
- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
假设我想创建以下 API:
var api = function(){}
api.prototype = {
constructor: api,
method: function() {
return this;
}
};
现在,这将像这样工作:
var myApi = new api();
myApi.method();
但是假设我想让 new
关键字成为可选的,这样它就可以工作了:
api().method();
我会疯狂地做:
var api = function() {
if ( !(this instanceof api) ) {
return new api();
}
};
但我想知道,这是否很容易以某种方式被感染,或者使用这种方法还有其他危险吗?我知道 f.ex jQuery 不会这样做(它们将构造函数卸载到原型(prototype)方法),所以我确信有充分的理由不这样做。我只是不认识他们。
最佳答案
在构造函数中返回一个对象。
function Car(){
var obj = Object.create(Car.prototype);
obj.prop = 1;
return obj;
}
Car.prototype = {
method: function (){ }
};
//test
var car1 = Car();
var car2 = new Car();
关于javascript - 使新关键字可选,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13280639/
我正在尝试用 Swift 编写这段 JavaScript 代码:k_combinations 到目前为止,我在 Swift 中有这个: import Foundation import Cocoa e
我是一名优秀的程序员,十分优秀!