JS命名空间的使用

在多人合作写脚本的时候,会发生方法名冲突的情况

用JS的命名空间能解决这个问题

var MYNAMESPACE = MYNAMESPACE || {};

 若全局空间中已有同名对象,则不覆盖该对象;否则创建一个新的命名空间。

下面就列出一个例子

var MYNAMESPACE = MYNAMESPACE || {};

MYNAMESPACE.person = function(name) {
    this.name = name;
};

MYNAMESPACE.person.prototype.getName = function() {
    return this.name;
};

// 使用方法
var p = new MYNAMESPACE.person("doc");
p.getName();        // doc

 上面的例子是别人博客的,下面写一个自己自己写的

有两个人同时写一个页面,一个是DOC,一个ZXD,同时命名了一个hello方法

全局变量里也有一个hello方法

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>命名空间的用法</title>
    <script src="1.js"></script>
    <script src="2.js"></script>
    <script src="3.js"></script>
</head>
<body>
    
</body>
<script type="text/javascript">
    hello();
    DOC.hello();
    ZXD.hello();
    ZXD.getName("ZXD");
</script>
</html>

 1.js

function hello(){
    console.log(1);
}

 2.js

var DOC = DOC || {};

DOC.hello = function() {
    console.log("hello DOC");
}

 3.js

var ZXD = ZXD || {};

ZXD.hello = function() {
    console.log("hello ZXD");
}
ZXD.getName=function(name){
    console.log(name);
}

 输出

 

转载于:https://www.cnblogs.com/anxiaoyu/p/6593256.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值