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);
    }

    输出

  • 相关阅读:
    ubuntu16.04以及各个版本镜像网址汇总
    linux0.11的进程1的创建和执行
    linux0.11的0号进程详解
    Linux命令
    Vim命令
    CentOS7静态IP设置
    Fiddler常用设置
    Python日期计算
    Python完全平方数
    pip
  • 原文地址:https://www.cnblogs.com/web-record/p/10560395.html
Copyright © 2011-2022 走看看