JavaScript-中级:6 私有变量

(论代码的一千种花式玩法)

示例代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>私有变量</title>
</head>
<body>
    <script>
    // 模拟私有变量方式1:
    function Person(){
        var age = 0; // 私有变量,只能通过getAge和setAge来操作age变量
        this.getAge = function(){
            return age;
        }; 

        this.setAge = function(a){
            age = a;
        };
    }

    var p = new Person();
    console.log(p.age); // undefined 显然访问不到
    console.log(p.getAge()); // 0
    p.setAge(18); // 设置age
    console.log(p.getAge()); // 18

    // 模拟私有变量方式2:(感想:论代码的一千种花式玩法)
    function Person1(){
        var age = 0;
        return {
            getAge: function(){
                return age;
            },
            setAge: function(a){
                age = a;
            }
        };
    }

    var p1 = Person1();
    console.log(p1.getAge()); // 0
    p1.setAge(18);
    console.log(p1.getAge()); // 18
    
    </script>
</body>
</html>
发布了191 篇原创文章 · 获赞 1 · 访问量 4698

猜你喜欢

转载自blog.csdn.net/bluebloodye/article/details/103074163