• js---14公有私有成员方法


    var ns1 = {}; //命名空间
    ns1.ns11 = {};//子命名空间
    ns1.module1 = {name:"a",m:function(){}};
    console.log(ns1.module1.name);
    ns1.ns11.module = {name:"a",m:function(){}};
    
    //成员封装
    //1.静态成员
    function Person(name,age){ //Person既可以看成是函数,也可以看成是类,也可以看成是对象
        this.name = name;
    }
    Person.u = true;//添加静态成员
    console.log(Person.u);//true
    var p1 = new Person();
    console.log(p1.u);//undefined,变量不能访问静态成员,
    
    console.log(Person.__proto__);//Person本身看成是一个对象,他是Function构造出来的,
    
    //2.公有方法
    function Person(name){
        var age = 100;//私有成员
        function pm(){//私有方法
            console.log("private");
        }
        this.name = name;//公有成员
        this.t = function(){//公有方法
            console.log("pnblick");
        }
    }
    var p1 = new Person(111);
    console.log(p1.age);//undefined
    console.log(p1.name);//111
    p1.pm();//不能访问
    p1.t();//pnblick
    
    //公有方法调用私有方法
    function  Person (pname) {  
         var age = 100;//私有属性
         function pm(){//私有函数,私有函数访问公有属性,
             console.log(this.name);
         }
         this.name = pname;//公有成员
         this.test=function(){//公有方法
             console.log("public method");
             //pm();    pm()前面不写表示window.pm(),所以pm()函数里面的this是window,
             pm.call(this);
         };
     }
    var p2 = new Person();
    p2.test();
    
    
        function Person(pname){
            function pm(){
                console.log(self.name);//闭包:子类访问父类的成员self,不是this,this就是window
            }
            var self = {//对象
                name:pname,
                test:function(){
                    pm();//函数执行没有return,不存在对象,就是函数调用,
                }
            };
            return self;
        }
    var p2 = new Person(“ss”);
    p2.test();//ss
  • 相关阅读:
    树莓派远程监控的实现
    frp内网渗透实现ssh外网访问家里树莓派(树莓派raspbian系统+腾讯云contos7)
    Linux下远程连接断开后如何让程序继续运行
    windows 远程连接登录树莓派桌面
    树莓派设置frpc开机启动
    树莓派 raspbian Linux 系统命令行 快捷键
    MyBatis如何防止SQL注入
    Apache POI导出excel表格
    SpringBoot文件上传
    SpringBoot整合定时任务
  • 原文地址:https://www.cnblogs.com/yaowen/p/6847886.html
Copyright © 2020-2023  润新知