在开始之前,我想承认我是一名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");
Run Code Online (Sandbox Code Playgroud)
该片段是我一直使用javascript的一个例子
我一直负责支持一些新的JavaScript代码.我想向这个新库引入相同类型的原型模式.但是,命名空间是以对我来说很陌生的方式编写的,我不知道如何修改它以满足我的需要.
一个例子
if (typeof SomeNamespace == "undefined") {
SomeNamespace = { __namespace: true };
}
SomeNamespace.SomeOtherNamespace = {
SomeClass: function(oSomeParameter){
this.SomeProperty = oSomeParameter
...
}
}
Run Code Online (Sandbox Code Playgroud)
我不知道如何将原型函数添加到此代码中....
(对不起,如果我对细节含糊不清,我甚至不确定为什么命名空间在我的第二个例子中被宣布为那样,所以如果有人可以向我解释,那就太好了!)
*编辑* 第二个示例中的修正语法
*编辑* 在我的示例中省略了"new"关键字