js 命名空間的注入

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
	<meta charset="utf-8" />
</head>
<body>

</body>
</html>

<script>
    // 主要測試命名空間的注入測試
    /**
        1  使用場景是啥?
            1.1 注重命名空間的處理,  myapp是命名空間的名稱,
            1.2 utils是命名空間下模塊的名稱, 同一個命名空間下能夠有多一個模塊,
            1.3 


        2  須要注意的要點
           2.1 命名空間的屢次嵌套處理
           

        3  關鍵性的內容,
           在命名空間上使用apply函數,  類比構造函數繼承的處理過程.
            

    **/

    var myapp = myapp || {};

    // 模塊化.
    myapp.utils = {};

    (function () {
        var value = 5;

        this.getValue = function () {
            return value;
        }

        this.setValue = function (newValue) {
            value = newValue;
        }

        this.tool = {};



    }).apply(myapp.utils);

    //在命名空間內上添加屬性,
    console.log(myapp);  // (0)

    (function () {
        this.getName = function () {
            console.log("1");
        }
    }).apply(myapp.utils.tool)

    // 深層次.
    console.log(myapp);  //(1)

    /*  console.log
        (0)
        object
        |-->utils:objecyt
            |-->getValue();
            |-->setValue();
            |-->tool:object;


       
        (1)
        object
        |-->utils:objecyt
            |-->getValue();
            |-->setValue();
            |-->tool:object
                |--> getName();
       

    */

</script>
相關文章
相關標籤/搜索