为了账号安全,请及时绑定邮箱和手机立即绑定

有一个全局JavaScript方法,如何保证命名不会发生冲突啊

有一个全局JavaScript方法,如何保证命名不会发生冲突啊

米琪卡哇伊 2018-12-06 14:10:39
有一个全局JavaScript方法,如何保证命名不会发生冲突啊 也就是说有没有办法让这个方法只在某一段JS中可以访问啊 示例: //test.jsfunction abc(){ alert("abc");}var test={ hello:function(){ abc(); }};//页面调用window.onload=function(){ test.hello();}; 也就是说让方法abc只在test.js中有效
查看完整描述

7 回答

?
三国纷争

TA贡献1804条经验 获得超7个赞

var test={
_hello: function(){
this._abc();
    /** 或者  test._abc(); */
},
_abc: function(){
alert("abc");
}
};


采用以上这种方式可以完全避免你的问题。

查看完整回答
反对 回复 2018-12-24
?
汪汪一只猫

TA贡献1898条经验 获得超8个赞

test.js改成这样就不能在外部访问到了

var test={
hello:function(){
function abc(){
alert("abc");
}
abc();
}
};
查看完整回答
反对 回复 2018-12-24
?
MMTTMM

TA贡献1869条经验 获得超4个赞

这里只是一个例子,如果这个方法不得不写成全局方法,有没有办法处理呢

查看完整回答
反对 回复 2018-12-24
?
慕侠2389804

TA贡献1719条经验 获得超6个赞

@tab_china: 我觉得木有其它方法呢。

查看完整回答
反对 回复 2018-12-24
?
潇潇雨雨

TA贡献1833条经验 获得超4个赞

如:namespace.abc = function(){...}

使用命名空间应该可以

查看完整回答
反对 回复 2018-12-24
?
茅侃侃

TA贡献1842条经验 获得超21个赞

谢谢,能说详细点吗?

查看完整回答
反对 回复 2018-12-24
?
守着星空守着你

TA贡献1799条经验 获得超8个赞

var test = (function(){
function abc(){
alert("abc");
}

var test={
hello:function(){
abc();
}
};
retrun test;
})();
查看完整回答
反对 回复 2018-12-24
  • 7 回答
  • 0 关注
  • 470 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信