25_JavaScript之封装性

什么是封装?

封装性就是隐藏实现细节,仅对外公开接口

为什么要封装?

不封装的缺点:当一个类把自己的成员变量暴露给外部的时候,那么该类就失去对属性的管理权,别人可以任意的修改你的属性

    <script>
        function Person() {
            this.name = "Durant";
            this.age = 35;
            this.say = function() {
                console.log("Hello World");
            }
        }
        let obj1 = new Person();
        obj1.age = -3; //属性可以任意修改   及其不安全
        console.log(obj1.name);
        console.log(obj1.age);
        obj1.say();
    </script>

结论:默认情况下对象的属性和方法都是公开的, 只要拿到对象就可以操作对象的属性和方法

控制台输出:
在这里插入图片描述
封装就是将数据隐藏起来,只能用此类的方法才可以读取或者设置数据,不可被外部任意修改. 封装是面向对象设计本质(将变化隔离)。这样降低了数据被误用的可能 (提高安全性和灵活性)

    <script>
        function Person() {
            this.name = "Durant";
            let age = 30; //此时age为局部变量也是私有属性,外界不可以直接访问,只能用此类的方法才可以读取或者设置数据
            this.setAge = function(myAge) {
                if (myAge >= 0) {
                    age = myAge;
                }
            }
            this.getAge = function() {
                return age;
            }
            this.say = function() {
                console.log("Hello World");
            }
        }
        let obj1 = new Person();
        console.log(obj1.name);
        obj1.setAge(35);
        // obj1.setAge(-3);  满足不了判断条件
        console.log(obj1.getAge());
        obj1.say();
    </script>

控制台输出:
在这里插入图片描述

注意点:
在给一个对象不存在的属性设置值的时候, 不会去原型对象中查找, 如果当前对象没有就会给当前对象新增一个不存在的属性

由于私有属性的本质就是一个局部变量, 并不是真正的属性, 所以如果通过 对象.xxx的方式是找不到私有属性的, 所以会给当前对象新增一个不存在的属性

    <script>
        function Person() {
            this.name = "Durant";
            let age = 30; //此时age为局部变量也是私有属性,外界不可以直接访问
            this.setAge = function(myAge) {
                if (myAge >= 0) {
                    age = myAge;
                }
            }
            this.getAge = function() {
                return age;
            }
            this.say = function() {
                console.log("Hello World");
            }
        }
        let obj1 = new Person();
        obj1.setAge(35); //操作的是私有属性
        console.log(obj1.getAge());
        obj1.age = -3;	//操作的是公有属性
        console.log(obj1.age);
    </script>

控制台输出:
在这里插入图片描述

在JavaScript中属性和方法分类两类


  实例属性/实例方法
 
    在企业开发中通过实例对象访问的属性, 我们就称之为实例属性
    在企业开发中通过实例对象调用的方法, 我们就称之为实例方法
   
    

   静态属性/静态方法
  
    在企业开发中通过构造函数访问的属性, 我们就称之为静态属性
    在企业开发中通过构造函数调用的方法, 我们就称之为静态方法
    <script>
        function Person() {
            this.name = "Durant";
            this.say = function() {
                console.log("Hello World");
            }
        }

        let obj1 = new Person();
        console.log(obj1.name); //实例属性
        obj1.say(); //实例方法

        Person.age = 10;
        Person.talk = function() {
            console.log("talk");
        }

        console.log(Person.age); // 静态属性
        Person.talk(); //静态方法
    </script>

控制台输出:

在这里插入图片描述

本软件包括两个压缩包:ChromePortable.53.0.2785.030-Share.part1.rar 、ChromePortable.53.0.2785.030-Share.part2.rar 本程序ChromePortable.exe是Chrome浏览器的便携化、绿化工具。本程序启动时,通过读取ChromePortable.ini配置文件中的相关配置内容,可以相应参数和配置启动Chrome浏览器、关联打开chrome.exe支持格式的文件、并支持启动和控制两个先行程序。 1. ChromePortable.exe程序的运行说明 下载地址请参见 http://bbs.kafan.cn/thread-1850287-1-1.html 。也可以到http://download.csdn.net/ ,搜索ChromePortable,下载两个文件 ChromePortable.53.0.2785.030-Share.part1.rar 、 ChromePortable.53.0.2785.030-Share.part2.rar 。 用户获取压缩包文件后,按下面方式便可正常使用: A. 解压缩到硬盘上任意目录中; B. 若系统带有防火墙,需要设置防火墙允许 \ChromePortable\App\chrome.exe 文件访问网络; C. 然后直接运行ChromePortable.exe程序便可以访问网页了。 下图是解压后的便携 Chrome浏览器目录。其中:  App子目录存放Chrome浏览器自带的相关文件和目录;  Data子目录存放用户配置文件;  Other子目录存放可选的其它内容; 图6-1 带ChromePortable.exe和ChromePortableSet.vbs的便携 Chrome浏览器目录 2. 使用ChromePortable.exe程序时升级chrome新版本说明 用户升级chrome新版本很简单,具体方法如下: A. 先删除便携 Chrome浏览器目录下\ChromePortable\App\子目录中的所有文件和子目录,但保留App子目录; B. 从网上获取chrome新版本,比如 http://bbs.kafan.cn/thread-1419691-1-1.html 。该exe离线包使用方法:请不要双击释放,而是用7-zip或WinRAR进行解压; C. 比如解压得到的 chrome.7z文件,然后将压缩包中 \Chrome-bin\53.0.2785.30\ 目录下的所有文件和子目录解压到 \ChromePortable\App\ 子目录中,并将 \Chrome-bin\chrome.exe、\Chrome-bin\wow_helper.exe 两个文件也解压到 \ChromePortable\App\ 子目录中 D. 升级就这么简单,配置文件不用进行修改,直接运行ChromePortable.exe程序便可以访问网页了。 3. 其它配置请运行ChromePortableSet.vbs后参看程序说明 对于新版ChromePortable.exe 2.0,可以在同一目录中建立如下内容的 ChromePortableSet.vbs 文件(文件名可改变),双击便可启动图形设置界面。 CreateObject("shell.application").ShellExecute "ChromePortable.exe", "-set"
chrome浏览器绿色便携版_最新版 Google Chrome 是由 Google 开发的一款设计简单、运行高效、支持扩展的浏览器,它基于高速 WebKit/Blink 内核和高性能 JavaScript V8 引擎,在支持多标签浏览的基础上,提供顺畅的浏览体验,并且每个标签都在独立的沙箱内运行,安全性大大提高。 Chrome 便携版说明: 2013/7/13 基于 Google Chrome Stable 28.0.1500.72 制作便携版,直接运行 ChromePortable.exe,然后会生成快捷方式 ChromePortable.lnk,推荐使用此快捷方式启动程序;若之前使用过这里的 Chrome 便携版,则可以将最新的文件解压后覆盖到对应目录,会保留所有的配置,但请注意检查 PortableProfile 是否为空,防止配置文件被覆盖。 注意 Chrome 28 开始使用 Blink 作为浏览器内核,Blink 是开源引擎 WebKit 中 WebCore 元件的一个分支。 Chrome 绿色版说明: 若将 Google Chrome 作为绿色免安装版使用,则可以直接执行主程序 App\Google Chrome\chrome.exe,以默认配置运行 Google Chrome,配置保存在 C:\Documents and Settings\用户名\Local Settings\Application Data\Google\Chrome\User Data 这样的目录下,备份和恢复配置的话请运行 !)保存配置.bat 或 !)恢复配置.bat,会保存到当前目录的 Profile 文件夹内。 ChromePortable.exe 作为 Chrome Loader 为 Chrome.exe 添加启动参数,并保存到 ChromePortable.ini中,后供ChromePortable.exe 读取调用,所以请保持 ChromePortable.exe 和 ChromePortable.ini 的完整性。 下面是 Google Chrome 便携版的使用须知: 1.便携版配置文件固定保存到 App\Google Chrome\PortableProfile 文件夹中; 2.ChromePortable.ini 中的参数可以赋值为1或0,为1时表示加载该参数,为0时表示不加载该参数; 3.添加 --enable-easy-off-store-extension-install 参数,方便安装 Chrome Web Store 之外的第三方扩展应用及脚本程序; 4.如果要将 Chrome 便携版锁定到任务栏,请将快捷方式 ChromePortable.lnk 拖拽到任务栏即可; 5.这个 Chrome Portable 支持设置为默认浏览器,方法是到 ChromePortable.ini 中设置 defaultbroswer=1,再次启动 ChromePortable.exe 就可以了,如果是 Vista/Windows 7 系统,就需要以管理员权限运行以完成默认浏览器设置; 6.如不喜欢本站便携版,可以试用下 Google Chrome Portable by Portableapps.com。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值