zoukankan      html  css  js  c++  java
  • 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);
    }
    

     输出

  • 相关阅读:
    hello
    1234566i 还是规范
    萨嘎给
    DRF 商城项目
    DRF 商城项目
    DRF 商城项目
    Windows 上连接本地 Linux虚拟机上的 mysql 数据库
    xadmin 数据添加报错: IndexError: list index out of range
    python 实现聊天室
    xadmin 组件拓展自定义使用
  • 原文地址:https://www.cnblogs.com/anxiaoyu/p/6593256.html
Copyright © 2011-2022 走看看