08.封装性

2019-06-06  本文已影响0人  Fl_来看看

1.局部变量和局部函数

2.什么是对象的私有变量和函数

4.为什么要封装?

   function Person() {
            this.name = "lnj";
            // this.age = 34;
            let age = 34;//实例的对象没有这个属性的
            this.setAge = function (myAge) {
                if(myAge >= 0){//好处:可以判断
                    age = myAge;
                }
            }
            this.getAge = function () {
                return age;
            }
            this.say = function () {
                console.log("hello world");
            }

            // 由于构造函数也是一个函数, 所以也会开启一个新的作用域
            // 所以在构造函数中通过var/let定义的变量也是局部变量
            // 所以在构造函数中定义的函数也是局部函数
            var num = 123;
            let value = 456;
            function test() {
                console.log("test");
            }
        
        }
        let obj = new Person();
        // 结论: 默认情况下对象的属性和方法都是公开的, 
        //只要拿到对象就可以操作对象的属性和方法
        // console.log(obj.name);
        // obj.age = -3;
        // console.log(obj.age);
        // obj.say();

        // console.log(age);
        obj.setAge(-3);
        console.log(obj.getAge());

一些说明

上一篇下一篇

猜你喜欢

热点阅读