![](https://img-blog.csdnimg.cn/direct/783605081b7b49a9a58ac2c5d77a8bb6.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
JS核心
文章平均质量分 75
学习最大的敌人就是对自己的满足。
没资格抱怨
流水不争先,争的是滔滔不绝
展开
-
为什么需要箭头函数
这就是函数两个层面的意思,在一个正统语言里面,既然这两个意思不一样,那么它的语法层面是应该分开的,不能混着用,但是在js中既可以直接调用,也可以使用new关键字调用,甚至混合调用,例如。因为函数的二义性会导致jsh函数复杂图上升,因为一个函数在创建的时候,不知道未来的使用者会如何调用,有可能会通过new调用,也可能不会,不管怎么调用都不会报错。箭头函数只会表达指令序列,没有构造器这个含义,所以箭头函数不能通过new来调用,也就是说箭头函数跟所有面向对象有关的东西箭头函数都没有,原创 2024-07-05 12:20:27 · 304 阅读 · 0 评论 -
js读取对象属性两种方式的区别
x]读取js中对象的属性通常有两种方法,一种是使用点运算符,还有一种是使用方括号运算符;1:obj.xxx当使用obj.xxx方式读取属性时,js内部会进行一个转换,转换成一个内部方法的调用,内部方法名字叫做get,外部无法访问,内部使用,该方法作用是读取某个对象的某一个属性,3个参数第三个参数代表读取该属性期间的this指向x]它也是调用内部的get方法,第二个参数有区别,并不是像上方当成一个字符串去读取,而是属性名symbolsymbolsymbol。原创 2024-07-05 11:38:43 · 451 阅读 · 0 评论 -
JavaScript闭包
如果是a => b => c => {xxx}这种多次柯里化的,如何理解?理解:前n - 1次调用,其实是提前将参数传递进去,并没有调用最内层函数体,最后一次调用才会调用最内层函数体,并返回最内层函数体的返回值结合上文可知,这里的多个连续箭头(无论俩个箭头函数三个及以上)函数连在一起 就是在柯里化。所以连续箭头函数就是多次柯里化函数的 es6 写法。调用特点:let test = a => b => c => {xxx}原创 2024-07-04 17:29:59 · 628 阅读 · 0 评论 -
对象创建模式
js创建对象的方式原创 2024-07-03 22:04:33 · 110 阅读 · 0 评论 -
判断数组的四种方法
属性constructor指向构造函数,通过constructor属性可以判断是否为一个数组。用于检验构造函数的prototype属性是否出现在对象的原型链中的任何位置,返回一个布尔值。Object.prototype.toString.call()可以获取到对象的不同类型。Array.isArray()用于确定传递的值是否是一个数组,返回一个布尔值。原创 2024-07-03 21:57:47 · 114 阅读 · 0 评论 -
迭代器对象 Iterator
在JavaScript中,迭代器也是一个具体的对象,这个对象需要符合迭代器协议(iterator protocol)1. 迭代的定义:从一个数据集合中按照一定的顺序,不断取出数据的过程称为迭代2. 迭代和遍历的区别迭代:迭代强调的是依次取数据的过程,并不保证取多少,也不保证把所有的数据都取完遍历:遍历强调的是要把整个数据依次全部取出可以遍历具有该数据结构的对象,为各种容器提供了公共的操作接口,隔离对容器的遍历操作和底层实现,从而解耦。原创 2024-07-03 10:56:29 · 827 阅读 · 0 评论 -
JS数组扁平化
数组扁平化这节课的知识点结合了数组 API、ES6,以及 JSON方法的相关知识。可以通过下面的表格再来看一下这六种方式的代码思路。原创 2024-06-08 17:05:17 · 624 阅读 · 0 评论 -
Es5 javascript实现继承的5种方式及对应缺点(超详细)
原型链作为实现继承的主要方法,其基本思想是利用原型让一个引用类型继承另一个引用类型的属性和方法。简单理解为:将父类构造函数的实例对象作为子类构造函数的原型对象,通过修改原型的方式实现继承另一个引用类型的属性和方法。代码演示:原型链继承的主要问题: 父类构造函数自身的属性会被所有子类的实例对象共享,通过其中一个修改,那么另外的所有子类实例对象看到的都是修改之后的属性在创建Child的实例的时候,不能向Parent传参 为解决原型中包含引用类型值所带来的问题,人们开始用一种叫做借用构造原创 2024-06-08 16:25:56 · 1137 阅读 · 0 评论