下面是例1好,还是例2好,还是命名空间里根本不允许有这样的调用,需要重新设计,把f2的结果设计成f1的参数的方式?
例1:
var M={
f1:function(){
var a=this.f2()
return a
},
f2:function(){
}
}例2:
var M={
f1:function(){
var a=M.f2();
return a
},
f2:function(){
}
}
例1:
var M={
f1:function(){
var a=this.f2()
return a
},
f2:function(){
}
}例2:
var M={
f1:function(){
var a=M.f2();
return a
},
f2:function(){
}
}
我想问问在有没有专门的规定,禁止在js的大型接口程序中的命名空间下的函数中调用其它函数?
命名空间 非要{}做吗? 函数就不能做吗?
{}is instance of Object.
Object = function(){XX}.
this是给那种没确定对象的人用的。
所以说 一般很多程序都有类似 includ import use 之类的关键字 指定当前代码要依赖的外部代码
根据指定的依赖关系 会进行加载前的预处理
js没有直接提供 但是精神是不变的
所以有个 JS的AMD规范
requirejs 还有 node.js都是依据这个规范实现的有时间看下这个 AMD规范
写法的好坏取决于具体的执行环境。如果只就调用对象其他属性或方法而言:
例1中的this会根据具体的执行环境和调用对象而有所变化。
例2中只要保证调用该方法的是M,就可以正确调用M的其他方法或属性,相对例1而言更稳定一些。