JavaScript
Living-v
绝知此事要耕行
展开
-
常用对象数组操作记录
常用的对象数组操作合集原创 2023-02-07 17:16:37 · 162 阅读 · 1 评论 -
什么是__proto__和prototype
从原型链的引用介绍__proto__与prototype的关系原创 2022-10-16 16:07:32 · 1424 阅读 · 0 评论 -
JS去除两个数组对象的相同元素
filter():filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。some(): some() 方法用于检测数组中的元素是否满足指定条件。原创 2022-09-13 11:19:25 · 1657 阅读 · 0 评论 -
js中.sort()函数的用法
本文介绍sort的用法解析以及高级用法原创 2022-09-11 11:14:38 · 3902 阅读 · 0 评论 -
ES6语法 数组的三点(. . .)拓展运算符
在阮一峰的《ECMAScript 6 入门》中是这么介绍三点(. . .)拓展运算符的:该运算符将一个数组,变为参数序列一开始没看懂,看完代码后回头看这句话就恍然大悟let arr1 = [1,2];let arr2 = [5,6];let newArr = [20];// 使用扩展运算符newArr = [20,...arr1,...arr2]; console.log(newArr); //[20,1,2,5,6]也就是说,该运算符将数组arr1里[1,2]转化为了1和2两个数字,原创 2022-03-05 10:22:11 · 354 阅读 · 0 评论 -
Promise怎么用?
一、一般什么情况下会用到promise?1.封装异步的操作如:网络请求2.解决回调地狱二、怎么用1.new一个实例化对象 => 实例化时传入一个函数 => 传入的函数的参数又需要传入两个函数(resolve,reject) => 实例化的对象可以调用.then和.carch方法 =>...原创 2021-10-20 09:21:02 · 162 阅读 · 0 评论 -
什么是闭包
一、首先心态要放松,闭包不难理解,真的二、直接上代码function foo() {var a = 2;function bar() {console.log( a );}return bar;}foo(); // 2 —— 朋友,这就是闭包的效果。我们都知道,一个函数执行完毕之后里面的变量会被内存回收掉,而foo函数似乎已经没有被继续使用了,为什么执行foo函数时还是能够从bar函数里打印出2呢?是什么阻止了foo函数的回收,使得foo函数里的变量依然存在。如果对闭包云里雾里则很容原创 2021-10-14 12:30:26 · 87 阅读 · 0 评论 -
什么是三目运算符
(表达式 ? "" : "")上面就是常见的三目运算符表达式为true时,跑冒号前的字符表达式为false时,跑冒号后的字符原创 2021-09-28 09:42:13 · 125 阅读 · 0 评论 -
什么是回调函数(JS)
要知道回调函数是啥,首先要知道,回调函数是用来干嘛的:回调函数是用来取一个异步操作的函数里的值的,也就是说:如果一个函数是异步的,这个函数不知道什么时候才能完成,也就拿不到这个函数里的值。其中一个解决方法就是在这个异步函数中再放一个函数,当这个异步函数完成后执行,这个安插在异步函数里的函数也就能打印出异步操作的结果了。其他解决方法有如promise,await等操作,这里不讨论那么具体怎么取呢,看代码: 1 function pre(callback){ 2 var a="a"原创 2021-09-22 16:57:34 · 590 阅读 · 0 评论 -
const _this = this是如何解决匿名函数的指向问题的
感觉网上其他资源说得虽然正确但不好理解尝试下梳理下自己的理解用自己的话将道理解释一遍是一个非常有效的学习方法1.this的指向用一句话概括就是从哪个对象调用this,this就指向哪个对象推荐文献:https://zhuanlan.zhihu.com/p/253497902.但有一个问题就是,匿名函数实际上是通过windos对象调用的(原理大概是匿名函数会在全局建立一个变量(比如a),然后将函数存入这个变量a,再执行windos.a调用函数)所以匿名函数的this总是指向于windos对象(非原创 2021-07-09 13:13:52 · 1405 阅读 · 0 评论 -
JavaScript类实现原理
1.首先知道,JavaScript中是没有类的,js中的class,new关键字,都只是在模仿类的行为罢了2.随后,js的类是通过一个叫[[Prototype]]链的东西实现的。3.具体来说是这么一回事:创建一个myobj的对象,里面有a这个元素,每次myobj.a访问对象里的元素时,都会触发一次js里的[[Get]] 操作。如果无法在myobj对象本身找到需要的属性,就会继续访问对象的 [[Prototype]] 链。通过Object.create(…) 可以将一个对象添加到另外一个对象的[[Prot原创 2021-07-05 18:19:42 · 412 阅读 · 0 评论 -
javascript关于变量提升的问题
js在声明一个变量时(var foo= 1)会分两步走。第一步是var foo,(这一步是在为这个变量开辟一处内存空间并命名)第二步是foo= 1,(这一步则是为开辟好并命了名的内存空间赋值)但这两步并不是同时进行的,var foo这一步是在编译阶段进行,而foo= 1则是在执行阶段进行。简单来说,就是var foo这步是在浏览器一行行读js代码前执行的,而foo= 1则是留在你写的位置等待被执行的。所以如果代码里有不少变量,那么代码的一开始其实是这样的var foo;var a;let b;原创 2021-07-04 22:24:59 · 179 阅读 · 1 评论 -
JavaScript中.splice()的用法
.splice()难记就难在它有集三种功能于一体分别是删、替、插.splice()可以有三个参数,第一个参数永远都是开始的位置,而第二个参数最重要,这个函数是什么功能就取决与第二个参数,第三个参数是替换(插入)用的值,是可变参数,即随便多少个都行。1.删除元素:第二个参数传入你要删除几个元素(如果没有传,就删除后面所有的元素)2.替换元素:第二个参数表示要替换几个元素3插入元素:第二个参数传入0...原创 2021-06-28 21:08:55 · 2690 阅读 · 0 评论 -
JavaScript对象的理解
JavaScript学习笔记JavaScript对象的理解在JavaScript代码的编写过程中,你会发现对对象的引用总是最频繁的,几乎所有东西都是对象。不少人说,理解了对象,就相当于理解了JavaScript。下面是一个表格对象李文livingtrueage20gendermale正如表格所示,对象我李文,还活着,20岁,男的。但是JavaScript不用表格来表达和储存。将上述表格用JavaScript对象表达出来应该是这样的<!DOCTYP原创 2021-03-02 20:00:30 · 106 阅读 · 0 评论