Adding a constructor to a property of a 'parent' obj
Adding a constructor to a property of a 'parent' object
这样做可以吗?
var MyObj = function() {};
var MyObj.prototype.thing = function() {};
MyObj.SubObj = function() {}
MyObj.SubObj.prototype.thing = function() {}
var ins = new MyObj();
var another = new MyObj.SubObj();
在这段代码中MyObj的行为就像一个父类,因为我已经分配了MyObj。SubObj是另一个构造函数,有自己的原型链。
可以像这样在另一个构造函数上嵌套一个构造函数吗?
完全可以这样做,但是它没有做任何特别的事情。特别是,MyObj
和MyObj.subobj
之间没有任何继承关系,MyObj.prototype.thing
和MyObj.subobj.prototype.thing
函数之间也没有任何联系。
我也不会叫它嵌套。这里唯一的关系是subobj
是函数MyObj
的一个属性。它没有以任何作用域的方式嵌套在其中…
但是,作为一种组织性的东西(例如,为了避免大量的全局符号),如果不意味着隐含继承,那么这样做是完全可以的。
边注:JavaScript中压倒性的约定是,像这样的构造函数使用初始封顶的
CamelCasing
,以区别于普通函数(使用非封顶的camelCasing
)。之前你有myobj
和subobj
。您已经将第一个更改为MyObj
,但如果遵循此约定,您也将将subobj
更改为SubObj
(只是FWIW)。
相关文章:
- 在下划线中使用_(obj).map(callback)和_.map(obj,callback)之间的区别
- Three.JS OBJ模型未显示
- ThreeJS访问加载的obj模型中的对象
- 无法在obj+mtl文件中加载纹理
- Php variable obj to js
- jQuery parent() in table
- JSTree's data.rslt.obj.text()返回一个文本数组,而不是所需节点的文本
- iFrame parent node
- 如何将Three.js场景中的几何体导出为已修改的OBJ
- Javascript TypeError:$(..)parent不是函数
- parent和iframe中的Bootstrap.js文件
- 用Div内容创建obj
- Three.js.obj阴影不起作用
- 如何捕获jqueryDialog和Parent之间的交互
- 将.obj转换为.js文件
- 如何从DOM(KnockoutJS)中删除$data、$parent等
- 在angular中使用$parent是一种好的做法吗
- 从 Childe 到 Parent ASP 的变量
- Adding a constructor to a property of a 'parent' obj
- 基于obj设置元素类的问题.id === $parent.selectedId