JS命名空间的使用
Posted 一抹夏忧
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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); }
输出
以上是关于JS命名空间的使用的主要内容,如果未能解决你的问题,请参考以下文章