随笔分类 -  javascript

上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 15 下一页
摘要:Array.prototype.flat() 在Array的显示原型下有一个flat方法,可以将多维数组,降维,传的参数是多少就降多少维 let arr = [1, [2, 3, [4, 5, [12, 3, "zs"], 7, [8, 9, [10, 11, [1, 2, [3, 4]]]]]]] 阅读全文
posted @ 2020-10-22 16:37 笑人
摘要:if else 是我们写代码时,使用频率最高的关键词之一,然而有时过多的 if else 会让我们感到脑壳疼,例如下面这个伪代码: 是不是很奔溃?虽然他是伪代码,并且看起来也很夸张,但在现实中,当我们无数次 review 别人代码时,都会发现类似的场景,那么我们本文就来详细聊聊,有没有什么方法可以让 阅读全文
posted @ 2020-10-22 16:35 笑人
摘要:this的指向是JavaScript中一个经久不衰的热门问题,在不同的场景下指向规则也不同,在此本文总结了this在不同场景下的指向规则以及ES6中新增的箭头函数中this的指向问题。 关于this this提供了一种更优雅的方式来隐式"传递"一个对象引用,因此可以将API设计得更加简洁并且易于复用 阅读全文
posted @ 2020-10-22 16:34 笑人
摘要:前言 纯函数 是一个常见的概念,在日常工作中也经常会遇到,它其实非常简单,今天我们来了解一下它的好处以及为什么要使用它。 两个特点 一个函数,如果符合以下两个特点,那么它就可以称之为 纯函数: 对于相同的输入,永远得到相同的输出 没有任何可观察到的副作用 相同输入得到相同输出 我们先来看一个不纯的反 阅读全文
posted @ 2020-10-22 16:33 笑人
摘要:良好的设计模式可以显著提高代码的可读性,降低复杂度和维护成本。笔者打算通过几篇文章通俗地讲一讲常见的或者实用的设计模式。 今天先从最简单的一个入手:单例模式。 文中的示例代码会使用 ES6 语法,尽量简化不必要的细节 概念 单例模式(Singleton)属于创建型的设计模式,它限制我们只能创建单一对 阅读全文
posted @ 2020-10-22 16:30 笑人
摘要:方法(method)是通过对象调用的JavaScript函数。也就是说,方法也是函数,只是比较特殊的函数。JavaScript中的匿名方法即匿名函数是没有函数名称的函数。 JavaScript中匿名函数的使用: 一、在Javascript定义一个函数一般有如下三种方式: 函数关键字(function 阅读全文
posted @ 2020-10-22 16:26 笑人
摘要:前言 关于模块化,最直接的表现就是我们写的 require 和 import 关键字,如果查阅相关资料,就一定会遇到 Commonjs 、CMD AMD 这些名词,以及 Requirejs、SeaJS 等陌生框架。比如 SeaJS 的官网 这样描述自己: “简单友好的模块定义规范,Sea.js 遵循 阅读全文
posted @ 2020-10-22 16:25 笑人
摘要:V8 Object 内存结构与属性访问 上世纪九十年代,随着网景浏览器的发行,JavaScript 首次进入人们的视线。之后随着 AJAX 的大规模应用与富客户端、单页应用时代的到来,JavaScript 在 Web 开发中占据了越来越重要的地位。在早期的 JavaScript 引擎中,性能越发成为 阅读全文
posted @ 2020-10-22 16:23 笑人
摘要:计时器setTimeout是我们经常会用到的,它用于在指定的毫秒数后调用函数或计算表达式。 语法:setTimeout(code, millisec, args); 注意:如果code为字符串,相当于执行eval()方法来执行code。 当然,这一篇文章并不仅仅告诉你怎么用setTimeout,而且 阅读全文
posted @ 2020-10-22 16:22 笑人
摘要:近年来,函数式编程(Functional Programming)已经成为了JavaScript社区中炙手可热的主题之一,无论你是否欣赏这种编程理念,相信你都已经对它有所了解。即使是前几年函数式编程尚未流行的时候,我已经在很多的大型应用代码库中发现了不少对于函数式编程理念的深度实践。函数式编程即是在 阅读全文
posted @ 2020-10-22 16:21 笑人
摘要:JavaScript继承概念:js是基于对象的,他没有类的概念,所以实现继承,需要使用js的原型prototype机制或者用applay和call方法实现。 1、原型链继承: 即子类通过prototype将所有在父类中通过prototype追加的属性和方法都追加到Child,从而实现了继承 为了让子 阅读全文
posted @ 2020-10-22 16:20 笑人
摘要:程序的运行需要内存。只要程序提出要求,操作系统或者运行时就必须供给内存。所谓的内存泄漏简单来说是不再用到的内存,没有及时释放。为了更好避免内存泄漏,我们先介绍JavaScript垃圾回收机制。 在C与C++等语言中,开发人员可以直接控制内存的申请和回收。但是在Java、C#、JavaScript语言 阅读全文
posted @ 2020-10-22 16:19 笑人
摘要:1. 三元运算符 事例1 带有IF的代码: function saveCustomer(customer) { if (isCustomerValid(customer)) { database.save(customer) } else { alert('customer is invalid') 阅读全文
posted @ 2020-10-20 16:46 笑人
摘要:1.为什么分析asap Promise 异步执行是通过 asap 这个库来实现的。所以为了进一步深入 Promise 异步执行的原理,深入分析一下 asap 是有必要的。补充说明:这里提及的Promise并不是Node和浏览器的原生实现,是一个第三方库实现,仅以此为参考。 2.asap概述 asap 阅读全文
posted @ 2020-10-20 16:44 笑人
摘要:问题重现 需求是要获取一个车型列表,并且输出到页面上按年份排序,故而接口提供的对象简化如下 let obj = { '2018': { modelCode: "204313", modelName: "2018款 Vanquish 6.0L S Coupe" }, '2017': { modelCo 阅读全文
posted @ 2020-10-20 16:42 笑人
摘要:一个例子 下面是一个常见的 vue 代码片段: async initStore(query) { await this.getConfig(); await this.getUser(); await this.checkRussianContext(query); await this.getBa 阅读全文
posted @ 2020-10-20 16:40 笑人
摘要:定义 我们先来看看它的定义 当js在一个对象上查找属性的时候,首先查找对象本身的属性(即声明时候定义的属性),如果在这些属性中没有找到目标属性,那么js会找它的__proto__对象,如果这个对象没有,那么继续找__proto__对象的__proto__对象,直到__proto__为null或者找到 阅读全文
posted @ 2020-10-20 16:36 笑人
摘要:双问号操作符 由于JavaScript是动态类型的,因此在分配变量时,我们需要牢记JavaScript对真值/假值的处理。 很多时候数字0和空字符串''就是我们需要的值,我们来看一下下面这个对象 双管道 || let player = { profile: { number: 0, name: un 阅读全文
posted @ 2020-10-20 16:35 笑人
摘要:中止信号(Abort signal) 在将 Promise 引入 ES2015 并出现了一些支持新异步解决方案的 Web API 之后不久,需要取消异步任务的需求就出现了。最初的尝试集中在创建通用解决方案上,并期待以后可以成为 ECMAScript 标准的一部分。但是,讨论很快陷入僵局,无法解决问题 阅读全文
posted @ 2020-10-20 16:34 笑人
摘要:什么是 Commonjs? CommonJS 是 2009 年的标准,为 JavaScript 模块建立了约定。它最初打算在 Web 浏览器之外使用,主要用于服务器端。 使用 CommonJS,你可以定义模块,从中导出功能,以及将其导入其他模块中。例如,下面的代码段定义了一个模块,该模块导出五个功能 阅读全文
posted @ 2020-10-20 16:32 笑人

上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 15 下一页