随笔分类 -  javascript

摘要:1. 要调试什么 我们主要要知道调试什么,最终回去到什么样子的结果: 调试接口,传入接口地址,即可获取对应的结果;并且可以同时调试多个设备;调试 jsapi,输入对应的方法,则即可在新闻客户端中展示出效果。 在调试接口方面,其实我们有一种方法可以方便地进行调试,但有两个限制条件:Android系统和 阅读全文
posted @ 2021-07-07 18:57 陌路y
摘要:计算机科学中最常用和讨论最多的数据结构之一是二叉搜索树。这通常是引入的第一个具有非线性插入算法的数据结构。二叉搜索树类似于双链表,每个节点包含一些数据,以及两个指向其他节点的指针;它们在这些节点彼此相关联的方式上有所不同。二叉搜索树节点的指针通常被称为“左”和“右”,用来指示与当前值相关的子树。这种 阅读全文
posted @ 2021-07-07 18:56 陌路y
摘要:背景 Nodejs 事件循环是支撑Nodejs 非阻塞IO以及异步执行的基础,因此理解事件循环的执行也就可以写出正确的代码或者说我们就能更快的找出为什么不按我写的代码顺序执行的原因所在。 说起Nodejs事件循环,不得不提一个图,介绍的是Nodejs的事件循环示意图,其中将事件循环分为:timers 阅读全文
posted @ 2021-07-07 18:54 陌路y
摘要:如何在JavaScript中使用toString方法 要使用该toString()方法,您只需要在一个number值上调用该方法。下面的示例演示如何将数字值24转换为其字符串表示形式。请注意,str变量的值如何用双引号引起来: var num = 24; var str = num.toString 阅读全文
posted @ 2021-07-07 18:53 陌路y
摘要:1. 类(class) ES6引入了Class(类)这个概念,作为对象的模板,通过class关键字,可以定义类。基本上,ES6的class可以看作只是一个语法糖,它的绝大部分功能,ES5都可以做到,新的class写法只是让对象原型的写法更加清晰、更像面向对象编程的语法而已。上面的代码用ES6的“类” 阅读全文
posted @ 2021-07-07 18:51 陌路y
摘要:箭头函数的注意事项 (1)函数体内的this对象,就是定义时所在的对象,而不是使用时所在的对象。(2)不可以当作构造函数,也就是说,不可以使用new命令,否则会抛出一个错误。(3)不可以使用arguments对象,该对象在函数体内不存在。如果要用,可以用 rest 参数代替。(4)不可以使用yiel 阅读全文
posted @ 2021-07-07 18:49 陌路y
摘要:ES8新特性(2017) 与 ES6 相比,ES8 是 JavaScript 的一个小版本,但它仍然引入了非常有用的功能: async/awaitObject.values()Object.entries()String padding: padStart()和padEnd(),填充字符串达到当前长 阅读全文
posted @ 2021-07-07 18:12 陌路y
摘要:ES9新特性(2018) 异步迭代 Promise.finally() Rest/Spread 属性 正则表达式命名捕获组(Regular Expression Named Capture Groups) 正则表达式反向断言(lookbehind) 正则表达式dotAll模式 正则表达式 Unico 阅读全文
posted @ 2021-07-07 18:11 陌路y
摘要:假设你在一段陌生的代码中看到这样一个函数: function toLocalDate(date) { return date.replace(/(\d{2})-(\d{2})-(\d{4})/, "$2-$1-$3") } 单看这个函数你能知道它是想把“日-月-年”替换成“月-日-年”,还是反过来? 阅读全文
posted @ 2021-07-07 18:09 陌路y
摘要:ES10新特性(2019) 行分隔符(U + 2028)和段分隔符(U + 2029)符号现在允许在字符串文字中,与jsON匹配更加友好的 JSON.stringify新增了Array的flat()方法和flatMap()方法新增了String的trimStart()方法和trimEnd()方法Ob 阅读全文
posted @ 2021-07-07 18:08 陌路y
摘要:1. replaceAll 返回一个全新的字符串,所有符合匹配规则的字符都将被替换掉 const str = 'hello world';str.replaceAll('l', ''); // "heo word" 2. Promise.any Promise.any() 接收一个Promise可迭 阅读全文
posted @ 2021-07-07 18:06 陌路y
摘要:引言 解构赋值是ES6中引入的一种能快速方便的进行变量赋值的方法,其主要也就是分为解构和赋值两部分内容。解构者,也就是匹配结构,然后分解结构进行赋值。 数组的解构赋值 使用 const arr = [1,3,5] const [a,b,c] = arr; console.log(a) // 1 co 阅读全文
posted @ 2021-07-07 18:04 陌路y
摘要:1.理解基本类型和对象 JavaScript提供了2种数据类型:基本类型和对象。 基本类型有 number, boolean, string, symbol,null,undefined。 // 基本类型 const number = 10; const bool = false; const st 阅读全文
posted @ 2021-07-07 18:03 陌路y
摘要:隐式丢失 由于模拟实现中有运用到隐式丢失, 所以在这还是先介绍一下。 隐式丢失是一种常见的this绑定问题, 是指: 被隐式绑定的函数会丢失掉绑定的对象, 而最终应用到默认绑定。说人话就是: 本来属于隐式绑定(obj.xxx this指向obj)的情况最终却应用默认绑定(this指向全局对象)。 常 阅读全文
posted @ 2021-07-07 18:01 陌路y
摘要:接口 vs 类型别名 相同点 1. 都可以用来描述对象或函数 interface Point { x: number y: number } interface SetPoint { (x: number, y: number): void; } type Point = { x: number; 阅读全文
posted @ 2021-07-07 17:58 陌路y
摘要:1.event.stopPropagation()方法 event.stopPropagation() 方法阻止事件冒泡到父元素,阻止任何父事件处理程序被执行。不让事件向documen上蔓延,但是默认事件任然会执行,当你掉用这个方法的时候,如果点击一个连接,这个连接仍然会被打开。 提示:请使用 ev 阅读全文
posted @ 2021-07-07 17:54 陌路y
摘要:一、常规的js页面跳转代码 1、在原来的窗体中直接跳转用 <script type="text/JavaScript"> window.location.href="你所要跳转的页面";</script> 2、在新窗体中打开页面用: <script type="text/JavaScript"> w 阅读全文
posted @ 2021-07-07 17:52 陌路y
摘要:环境搭建 因为装饰器属于一个在提案中的语法,所以不管是node还是浏览器,现在都没有直接支持这个语法,我们要想使用该语法,就必须要通过babel将它进行一个编译转换,所以我们需要搭建一个babel编译环境。 1、安装babel相关包 npm i @babel/cli @babel/core @bab 阅读全文
posted @ 2021-06-26 12:28 陌路y
摘要:写在前面 函数防抖和函数节流都是对函数进行特殊的设置,减少该函数在某一时间段内频繁触发带来的副作用。二者只是采用的设置方式和原理不一样,其最终的目的是一样的。 函数防抖和函数节流都是定义一个函数,该函数接收一个函数作为参数,并返回一个添加了防抖或节流功能后的函数。 因此可以将函数防抖和函数节流看作是 阅读全文
posted @ 2021-06-26 12:26 陌路y
摘要:一、Broadcast Channel API 简介 Broadcast Channel API 可以实现同源下浏览器不同窗口、Tab 页或者 iframe 下的浏览器上下文之间的简单通讯。通过创建一个监听某个频道下的 BroadcastChannel 对象,你可以接收发送给该频道的所有消息。 了解 阅读全文
posted @ 2021-06-26 12:25 陌路y