![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JavaScript面向对象
刘家军
但求卓越,不谋哗众
展开
-
谈一谈JavaScript面向对象
面向对象概念理解面向对象语言有个标志=>它们都具有类的概念,通过类可以创建任意多个具有相同属性和方法的对象。面向对象有三大特性 封装 继承 多态但JS中对象与纯面向对象语言中的对象是不同的JS中的对象:无序属性的集合,其属性可以包含基本值、对象或者函数。可以简单理解为JS的对象是一组无序的值,其中的属性或方法都有一个名字,根据这个名字可以访问相映射的值(值可以...原创 2018-12-28 15:04:22 · 518 阅读 · 0 评论 -
JavaScript面向对象与原型
构造函数虽然不错,但有的时候我们需要对属性和方法进行修改,做过vue项目的应该都遇到过这种情况,我们需要声明一些全局变量,我们一般这么做import axios from 'axios'; // 引入axios// 配置 请求头axios.defaults.headers.get['Content-Type'] = 'application/x-www-form-urlencoded';...原创 2018-12-29 11:29:32 · 291 阅读 · 0 评论 -
JavaScript面向对象 (call()方法)
call()的基本用法语法fun.call(thisArg, arg1, arg2, …)参数thisArg在fun函数运行时指定的this值。需要注意的是,指定的this值并不一定是该函数执行时真正的this值,如果这个函数处于non-strict mode,则指定为null和undefined的this值会自动指向全局对象(浏览器中就是window对象),同时值为原始值(数字,字符串...原创 2018-12-31 23:11:09 · 679 阅读 · 0 评论 -
JavaScript面向对象之继承 (上)
原型链继承我们再通过前几篇的例子再了解下原型链继承//创建自定义构造函数function Person() { this.name = "姓名";}//在当前构造函数的原型链上添加属性hobbyPerson.prototype.hobby = "旅游"//通过自定义构造函数Person实例化一个对象LJJconst LJJ = new Person原创 2019-01-01 15:37:24 · 298 阅读 · 0 评论 -
JavaScript面向对象之继承(下)
原型式继承这种继承方式没有使用严格意义上的构造函数,借助原型还可以基于已有的对象创建新对象,同时还不必因此创建自定义类型function object(o) { function Fun() {} Fun.prototype = o; return new Fun();}在object函数内部,先创建一个临时性的构造函数Fun,然后将传入的对象作为这个构造函数的原...原创 2019-01-02 17:52:03 · 216 阅读 · 0 评论 -
JavaScript面向对象之ES6中的类和继承
先回忆下前两天我们写的继承方法function Person(name, hobby) { this.name = name this.hobby = hobby } Person.prototype.doSth = function () { console.log(`${this.name}正在陪小仙女`); } Perso...原创 2019-01-03 09:19:45 · 400 阅读 · 0 评论 -
JavaScript面向对象之多态
今天我们研究一下javascript面向对象中的多态javascript 多态在《JavaScript设计模式与开发实践》中有这么一个故事:主人家里养了两只动物,分别是一只鸭和一只鸡,当主人向它们发出“叫”的命令时,鸭会“嘎嘎嘎”地叫,而鸡会“咯咯咯”地叫。这两只动物都会以自己的方式来发出叫声。它们同样“都是动物,并且可以发出叫声”,但根据主人的指令,它们会各自发出不同的叫声。其实,其中就...原创 2019-01-04 10:09:26 · 277 阅读 · 0 评论