博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
编写可维护的JavaScript-第11章-不是你的对象不要动
阅读量:5051 次
发布时间:2019-06-12

本文共 467 字,大约阅读时间需要 1 分钟。

1.什么是你的

这些对象不要动:

  • 原生对象
  • DOM对象
  • 浏览器对象模型(BOM)
  • 类库的对象

 

2.原则

在使用这些不是你的对象的时候

  • 不覆盖方法,字面意思
  • 不新增方法,会发生命名冲突,你永远不知道新的JS会如何发展,要新增方法请创造插件
  • 不删除方法,字面意思,不想别人用某些方法就直接在文档说

 

3.更好的途径

当你想操作不是自己的对象的时候,你可以这么做:

  • 使用继承(原型继承/类型继承)
  • 门面模式:将某个[不是自己的对象]放进一个自己创造的对象中去,然后再在自己创造的对象中新增方法来使用[不是自己的对象]

 

4.关于Polyfill的注解

别用Polyfill

 

5.阻止修改

ES5里面有新的方法来阻止对对象的扩展修改:

  • Object.preventExtension(),不能新增属性和方法
  • Object.seal(),不能删除属性和方法
  • Object.freeze(),不能修改属性和方法

用这几个方法的时候请使用严格模式

转载于:https://www.cnblogs.com/magicshow/p/5692635.html

你可能感兴趣的文章
一、记录Git使用中遇到的问题及解决方法
查看>>
学习网址
查看>>
前端表格插件datatables
查看>>
内部类
查看>>
树链剖分入门
查看>>
图解算法时间复杂度
查看>>
UI_搭建MVC
查看>>
一个样例看清楚JQuery子元素选择器children()和find()的差别
查看>>
代码实现导航栏分割线
查看>>
Windows Phone开发(7):当好总舵主 转:http://blog.csdn.net/tcjiaan/article/details/7281421...
查看>>
VS 2010打开设计器出现错误
查看>>
SQLServer 镜像功能完全实现
查看>>
Vue-详解设置路由导航的两种方法
查看>>
一个mysql主从复制的配置案例
查看>>
大数据学习系列(8)-- WordCount+Block+Split+Shuffle+Map+Reduce技术详解
查看>>
dvwa网络渗透测试环境的搭建
查看>>
Win8 安装VS2012 和 Sql Server失败问题
查看>>
过点(2,4)作一直线在第一象限与两轴围成三角形,问三角形面积的最小值?...
查看>>
java aes CBC的填充方式发现
查看>>
使用ionic cordova build android --release --prod命令打包报有如下错误及解决方法
查看>>