面向对象编程

一、面向对象编程

面向对象全称为 Object-Oriented Programming(OOP);
面向对象将相同的代码写在模板里,我们可以直接拿来用,可以避免 MVC 里相同的代码。

二、术语

  • Namespace --- 命名空间
    允许开发人员在一个独特应用相关的名称下捆绑所有功能的容器。
  • Class --- 类
    定义对象的特征。它是对象的属性和方法的模板定义。
  • Object --- 对象
    类的一个实例。
  • Property --- 属性
    对象的特征,比如颜色。
  • Method --- 方法
    对象的能力,比如行走。
  • Constructor --- 构造函数
    对象初始化的瞬间, 被调用的方法. 通常它的名字与包含它的类一致.
  • Inheritance --- 继承
    一个类可以继承另一个类的特征。
  • Encapsulation --- 封装
    一种把数据和相关的方法绑定在一起使用的方法.
  • Abstraction --- 抽象
    结合复杂的继承,方法,属性的对象能够模拟现实的模型。
  • Polymorphism --- 多态
    多意为“许多”,态意为“形态”。不同类可以定义相同的方法或属性。

三、a || b,a && b

a || ba && b 这类运算的值,基本上不可能是 true / false
它们的值一般是从运算的数据中来取,而不是生成一个新的值。

1 && 0 // 0
1 && 0 && 2 // 0
1 && 0 && console.log(3) // 0
1 && console.log(3) && 0 // 3 (console.log(3)的值是undefined)
1 && 2 && 3 // 3

0 || undefined || null || 1 // 1
  • 一连串的 && 运算,它的结果是遇到的第一个 falsy 值,后面的项就不再检验。
  • 一连串的 || 运算,它的结果是遇到的第一个 truey 值,后面的项就不再检验。
  • 五个 falsy 值:0NAN''nullundefined

四、var app = app || {}

var app = {} // 危险代码,可能会覆盖之前的赋值
// 应写为
var app = app || {} // 兜底写法
// 等价于
if (app){
  app = app
}else{
  app = {}
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容