JS面向对象编程
让前端开发者最熟悉又最陌生的就是js的面向对象编程了吧,很多人对面向对象编程一脸茫然,并自嘲只会面向过程编程,面向测试编程,面向业务编程。其实面向对象在平时开发中无处不在,因为JavaScript的所有数据都可以看成对象,但是我们没有这种面向对象开发的思想,虽然也许并不影响搬砖。
语言分类
计算机语言可大致分三类
①、面向机器:汇编语言。
②、面向过程:C语言
③、面向对象:Java、C++、PHP等。
复制代码
区别
- 面向过程:专注于如何去解决一个问题的过程步骤,编程的特点是由一个个的函数去实现每一步的过程步骤,没有类和对象的概念。
- 面向对象:专注于由哪一个对象来解决这个问题,编程特点是出现了一个个的类,从类中拿到对象,由这个对象去解决具体问题
面向对象的三大特征:继承、封装、多态
类和对象
1️⃣类:一类具有相同特征(属性)和行为(方法)的集合;
人类: 属性:身高、姓名、体重 方法:吃、喝、拉、撒
2️⃣对象:从类中拿出具有确定属性值和方法的个体叫做对象: 比如
张三:身高:180cm 体重:70kg 方法:说话:我叫张三
3️⃣关系
类是抽象的,对象是具体的;对象是类的实例
核心——对象
js一共有六种类型:string、boolean、number、null 和 undefined
注意,简单基本类型(string、boolean、number、null 和 undefined)本身并不是对象。null有时会被当作一种对象类型,但是这其实只是语言本身的一个 bug,即对 null 执行 typeof null 时会返回字符串 “object”。1 实际上,null 本身是基本类型。
原理是这样的,不同的对象在底层都表示为二进制,在 JavaScript 中二进制前三位都为 0 的话会被判 断为 object类型,null的二进制表示是全 0,自然前三位也是 0,所以执行 typeof 时会返回“object”
内置对象
String、Number、Object、Function 、 Array、Date、RegExp、Error
这些内置对象从表现形式来说很像其他语言中的类型(type)或者类(class),比如 Java 中的 String 类。 但是在 JavaScript 中,它们实际上只是一些内置函数。
转载于//juejin.im/post/5ccfcc72f265da03b9182c27
还没有评论,来说两句吧...