在开始之前,我想承认我是一名 JavaScript 新手,我对 JavaScript 模式和术语知之甚少,所以请随时向我解释基本概念,就像我 5 岁一样!
我以前在我的工作中使用过 JavaScript 原型模式,效果很好。
这是我以前使用原型模式工作的示例
var SomeNameSpace = SomeNameSpace || {};
SomeNameSpace.SomeClass = function(oSomeParameter){
this.SomeProperty = oSomeParameter
...
}
SomeNameSpace.SomeClass.prototype = {
SomeClassMethod: function (oSomeOtherParameter) {//code here}
}
var someClassInstance = new SomeNameSpace.SomeClass("some string");
var result = someClassInstance.SomeClassMethod("some other string");
该片段是我一直使用 javascript 的一个示例
我负责支持一些新的 javascript 代码。我想在这个新库中引入相同类型的原型模式。但是,命名空间的编写方式对我来说是陌生的,我不知道如何修改它以满足我的需要。
一个例子
if (typeof SomeNamespace == "undefined") {
SomeNamespace = { __namespace: true };
}
SomeNamespace.SomeOtherNamespace = {
SomeClass: function(oSomeParameter){
this.SomeProperty = oSomeParameter
...
}
}
我不知道如何在这段代码中添加原型函数......
(抱歉,如果我对细节含糊不清,我什至不确定为什么在我的第二个示例中如此声明命名空间,所以如果有人可以向我解释,那就太好了!)
*编辑* 更正了第二个示例中的语法
*编辑* 在我的示例中省略了“new”关键字