摘要:
封装 1、 封装数据 a) 只能依赖变量的作用域来实现封装特性,es6中可以通过symbol创建私有属性 2、 封装实现 封装不仅仅是隐藏数据,还包括隐藏实现细节,设计细节以及对象类型,例如slice我们只拿来使用就可以了而不用关心内部是怎么实现的。只通过暴露API来通信 3、 封装类型 封装类型是 阅读全文
摘要:
多态 多态的实际含义是:同一操作作用于不同的对象上面,可以产生不同的解释和不同的执行结果。换句话说,给不同的对象发送同一个消息的时候,这些对象会根据这个消息分别给出不同的反馈 以上代码的缺点就是每添加一种动物都必须改动makesound函数,修改代码的风险比较大,而多态的思想是将不变的事物和可能改变 阅读全文
摘要:
编程语言按照数据类型大体可以分为两类,一类是静态类型语言,另一类是动态类型语言。 静态类型语言在编译时便已确定变量的类型,而动态类型语言的变量类型要到程序运行的时 候,待变量被赋予某个值之后,才会具有某种类型。 静态类型语言的优点首先是在编译时就能发现类型不匹配的错误,编辑器可以帮助我们提前 避免程 阅读全文
摘要:
事件处理 当事件触发时,事件对象(event对象)会作为回调参数传入事件处理程序中,event对象包含所有和事件相关的信息 尽管上边的代码看起来非常简单且没有什么问题,但实际上是不好的写法,因为这种做法有其局限性 一、 规则 a) 隔离应用逻辑 1、上段实例代码第一个问题是事件处理程序中包含了应用逻 阅读全文
摘要:
避免使用全局变量 一、全局变量带来的问题 a) 命名冲突 i. 当全局变量和全局函数越来越多时,发生命名冲突的概率也随之增高 ii. 如果函数中使用了外部文件的全局变量,这种依赖关系是很难追踪到的 iii. 脚本中存在多个全局变量的时候,不同位置的函数中调用这个全局变量的值也不相同 iv. 全局变量 阅读全文
摘要:
UI层的松耦合 本章提出了一个概念就是耦合 假设修改一个组件的时候需要修改很多其他的组件的话则表示组件之间存在紧耦合 如果修改一个组件而不需要修改其他组件的时候就做到了松耦合 页面是由HTML、CSS、javascript三部分组成,首先要实现三者之间的松耦合 1、 将JavaScript从css中 阅读全文
摘要:
一、注释 1、 单行注释 a) 以两个斜线开始,以行位结束 b) 独占一行的注释,用来解释下一行的代码, c) 注释行之前总有一个空行 d) 缩进层级与下一行代码保持一致 e) 代码行尾的注释,代码结束到注释之间至少有一个缩进 f) 如果放于行尾的注释超过80字符应该放在当前代码行的上方 g) 注释 阅读全文
摘要:
在使用vue的时候会出现切换路由的时候滚动条保持在原来的位置,要切换路由的时候滚动条回到顶部才有更好的用户体验 1、当页面整体都要滚动到顶部的情况 2、当页面中的其中一个组件中需要滚动到顶部的时候 其中this.$refs获取页面中添加ref属性的元素,上面的content2就是滚动的元素添加的re 阅读全文
摘要:
1.Export 模块是独立的文件,该文件内部的所有的变量外部都无法获取。如果希望获取某个变量,必须通过export输出 或者用更好的方式:用大括号指定要输出的一组变量 除了输出变量,还可以输出函数或者类(class), 还可以批量输出,同样是要包含在大括号里,也可以用as重命名: Attentio 阅读全文
摘要:
最近在布局的时候遇到一个问题,在页面中的左侧是侧边栏,右边是内容区域,内容区域中有一个固定定位的标签页,在设置固定定位的标签设置宽度的时候应该是内容区域的宽度,而固定定位的时候相对于是窗口的宽度,所以转换为了当前窗口的宽度减去左侧的侧边栏的宽度 开始在网上查了查有个calc属性是可以写表达式的,但是 阅读全文