《web面试题大全备份》js封装

《web面试题大全备份》js封装

ID:42081536

大小:45.00 KB

页数:5页

时间:2019-09-07

《web面试题大全备份》js封装_第1页
《web面试题大全备份》js封装_第2页
《web面试题大全备份》js封装_第3页
《web面试题大全备份》js封装_第4页
《web面试题大全备份》js封装_第5页
资源描述:

《《web面试题大全备份》js封装》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、Js封装封装可以被定义为对对彖的内部数据表现形式和实现细节进行隐藏。通过封装可以强制实施信息隐藏。在JavaScript中,并没有显示的声明私有成员的关键字等。所以要想实现封装/信息隐藏就需要从另外的思路出发。我们可以使用闭包的概念來创建只允许从对象内部访问的方法和属性,来达到封装的要求。基本方式-般来说,我们学用的有三种方法来达到封装的目的。使用this.XXX来声明一个变量,然后再声明getXXX、setXXX等取值、赋值的方法。使用this._XXX来声明一个变量,然后再声明getXXX>setXXX等取值、赋值的方法。利用“函数作用

2、域”这一个概念来做。1.门户大开型varBook=function(isbn,title,author){this.setlsbn(isbn);this.setTitle(title);this.setAuthor(author);};Book.prototype={setlsbn:function(isbn){this.isbn=isbn;},getlsbn:function(){returnthis.isbn;},setTitle:function(title){this.title=title;},getTitle:function(

3、){returnthis.title;},setAuthor:function(author){this.author=author;},getAuthor:function(){returnthis.author;});使用这种方法实现的封装,虽然实现了取值器与赋值器以保护私有属性。但是在实际使用中,私有属性依然可以从外部访问,所以从根本上讲,没有实现封装。2.用命名规范进行区别varBook=function(isbn,title,author){this.setlsbn(isbn);this.setTitle(title);this.

4、setAuthor(author);};Book.prototype={setlsbn:function(isbn){this._isbn=isbn;},getlsbn:function(){returnthis._isbn;},setTitle:function(title){this._title=title;},getTitle:function(){returnthis._title;},setAuthor:function(author){this._author=author;},getAuthor:function(){ret

5、urnthis<_author;}};使用这种方法与第一种类似,区别在于使用不同的命名来保护私有属性的使用。但是,从实际应用来说其仍然没有实现封装。1.使用函数作用域varBook=function(newIsbn,newTitle,newAuthor”varisbn,title,author;this.setlsbn=function(newlsbn){isbn=newlsbn;};this.getlsbn=function(){returnisbn;};this.setTitle=function(newTitle){title=new

6、Title;};this.getTitle=function(){returntitle;};this.setIsbn=function(newAuthor){author=newAuthor;};this.getlsbn=function(){returnauthor;};}由于在JavaScript的函数中声明的变量是有作用域的,所以使用这种方法可以避免在外部直接访问私有属性。基本达到封装所要求的内容。这里要注意的是,我们在函数的内部,可以使用this.XXX以及var来声明变量。区别是使用lhis.XXX声明的变量在外部是可以访问的。

7、使用vai•声明的变量,由于受到函数作用域的保护,在函数的外部是无法直接访问的。1.使用函数作用域的变形varBook=(function(){//…其他静态方法returnfunction(newlsbn,newTitle,newAuthor){varisbn,title,author;this.setlsbn=function(newlsbn){isbn=newlsbn;};this.getlsbn=function(){returnisbn;};this.setTitle=function(newTitle){title=newTit

8、le;};this.getTitle=function(){returntitle;};this.setlsbn=function(newAuthor){author=newAu

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。