类的继承 类的继承 定义: 使用extends和super关键字实现继承 class Person { constructor(name, age) { this.name = name this.age = age } eating(params) { console.log(this.name + 2022-04-12 JavaScript JavaScript ES6
对象上的一些方法 hasOwnProperty 定义: 判断某个属性是否在自身对象上(不包含原型) 返回布尔值const obj = { name:'nano' } // 在原型对象上设置属性 Object.setPrototypeOf( obj, { age:19 }) const res1 = obj.hasOwn 2022-04-12 JavaScript JavaScript
继承 前言JavaScript是单继承的,只能继承一个父类 原型链继承 定义: 子类构造函数的prototype指向父类创建出来的对象 function Person(name,age){ this.name = name this.age = age this.run = function(){ return 'run' 2022-04-12 JavaScript JavaScript
原型链 原型链 什么是原型链?当在一个对象上找不到某个属性或者方法时,会去该对象的原型对象中([[prototype]])查找,如果该对象的原型对象也没有该属性,那么会在原型对象的原型对象中查找,这样逐层查找原型对象直到查到顶层对象,这样的链式查找就是原型链。 注意: Object是所有类的父类,他的[[prototype]]是null 2022-04-12 JavaScript JavaScript
隐式原型和显示原型 隐式原型 什么是隐式原型?定义: 每一个对象都有一个隐式原型([[prototype]]) 作用用来继承构造函数中的prototype(显示原型)指针 如何获取这个隐式原型?(1) 绝大部分浏览器都给对象内置了__proto__属性,可以通过__proto__获取对象的原型const obj = { name: 'nano' } const objP 2022-04-12 JavaScript JavaScript
批量创建对象的方法 工厂模式 什么是工厂模式?定义: 封装一个方法调用即可创建多个对象 function createObj( name,age,height ){ let obj = new Object( ) obj.name = name obj.age = age obj.height = height obj.say( ) = 2022-04-12 JavaScript JavaScript
Object.defineProperty解析 定义 直接定义一个对象上的新属性或者修改一个对象上的现有属性,并返回此对象 接收的参数(1) target 目标对象(2) key 新的属性名或者需要修改的属性名(字符串)(3) desc 属性描述符[ 数据属性描述符(默认都为false ),访问器属性描述符 ](对象) const obj = { name: 'nano' } Object.def 2022-04-12 JavaScript JavaScript
组合函数 组合函数 定义: 多个函数组合成一个新的函数(需要注意函数的调用顺序)<script> function add(a) { return a+=5 } function mul(b) { return b-=5 } function comp(add,mul) { retu 2022-04-12 JavaScript JavaScript
函数式编程 纯函数(pure function) 定义:(1) 相同的输入产生相同的结果 详解:入参类型相同且 return 的值格式相同,如果给定相同的参数,则得到相同的结果 ,有输入就一定有输出 (2) 不会产生副作用 详解:不会影响其它作用域的变量的值,不会更改页面的显示,不会对内存存储进行改变等等 (3) 只通过return返回输出的值,不会在其它地方打印 优势只需要关注函数内部的 2022-04-12 JavaScript JavaScript
函数的arguments 什么是函数的arguments? 定义: 是函数内置的函数参数的一个集合,是一个类数组对象,每一个函数都有该属性 注意: 箭头函数是没有arguments的,与ES6的剩余参数做搭配 常用用法 获取参数长度 function foo(){ console.log( arguments.length ) } foo(1,2,3,4) --> 4 备注: 通过函 2022-04-12 JavaScript JavaScript