• 夺命雷公狗---javascript NO:31 私有属性


    1、什么是私有属性

    在JavaScript代码中,是没有public/protected/private等定义属性的关键词,但是我们可以通过模拟的方式来实现这个过程。

    在JavaScript只有两种属性:

    一种共有属性

    一种私有属性

    2、定义私有属性

    在构造器内部,通过this定义的属性就是公有属性

    在构造器内部,通过var定义的属性就是私有属性

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset=’utf-8′>
    <title></title>
    </head>
    <body>
    <script>
    function ren(){
    this.name =’xiaohong'; //使用this定义公有属性
    var age =’50′;  //使用var定义私有属性
    }
    //实例化shuo对象
    var shuo = new ren();
    alert(shuo.name); //xiaohong
    alert(shuo.age);  //undefined
    </script>
    </body>
    </html>

    3、私有属性的赋值与访问

    在有些情况下,我们可能在运行需要对私有属性进行赋值与访问操作,那么如何实现呢?

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset=’utf-8′>
    <title></title>
    </head>
    <body>
    <script>
    function ren(){
    this.name =’xiaohong'; //使用this定义公有属性
    var age;  //使用var定义私有属性
    //定义一个公有方法实现对age属性的访问
    this.geterzi = function(){
    alert(age);
    }
    //定义一个公有方法对age属性复制操作
    this.seterzi = function(jiang){
    age = jiang;
    }
    }
    //实例化shuo对象
    var shuo = new ren();
    alert(shuo.name); //xiaohong
    alert(shuo.age);  //undefined
    shuo.seterzi(’50’);
    shuo.geterzi();
    </script>
    </body>
    </html>

    如果一个私有属性只有get方法,那么其就是可读属性,如果一个私有属性只有一个set方法,那么其就是可写属性,两者同时具有就是可读可写属性。

  • 相关阅读:
    show variables 详解
    用expect做自动应答脚本
    percona-toolkit工具检查MySQL复制一致性及修复
    Discuz论坛架构改造
    注解处理器
    ora-12514 tns 监听程序当前无法识别连接描述符中请求的服务
    内嵌Tomcat和SpringMVC的简单整合测试
    @Import导入ImportSelector实现类demo
    Mybatis-Spring项目编写测试类
    @Configuration注解作用和在Spring中的处理
  • 原文地址:https://www.cnblogs.com/leigood/p/5032032.html
Copyright © 2020-2023  润新知