随笔分类 -  javascript

上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 14 下一页
摘要:在 TypeScript 中我们会使用泛型来对函数的相关类型进行约束。这里的函数,同时包含 class 的构造函数,因此,一个类的声明部分,也可以使用泛型。那么,究竟什么是泛型?如果通俗的理解泛型呢? 什么是泛型 泛型(Generics)是指在定义函数、接口或类的时候,不预先指定具体的类型,而在使用 阅读全文
posted @ 2020-11-28 22:17 浅笑·
摘要:进程:process模块 process 模块是 nodejs 提供给开发者用来和当前进程交互的工具,它的提供了很多实用的 API。从文档出发,管中窥豹,进一步认识和学习 process 模块: 如何处理命令参数? 如何处理工作目录? 如何处理异常? 如何处理进程退出? process 的标准流对象 阅读全文
posted @ 2020-11-28 22:15 浅笑·
摘要:进程:process模块 process 模块是 nodejs 提供给开发者用来和当前进程交互的工具,它的提供了很多实用的 API。从文档出发,管中窥豹,进一步认识和学习 process 模块: 如何处理命令参数? 如何处理工作目录? 如何处理异常? 如何处理进程退出? process 的标准流对象 阅读全文
posted @ 2020-11-28 22:13 浅笑·
摘要:如果我们自己编写从URL中分析和提取元素的代码,那么有可能会比较痛苦和麻烦。程序员作为这个社会中最“懒”的群体之一,无休止的重复造轮子必然是令人难以容忍的,所以大多数浏览器的标准库中都已经内置了URL对象。 那么现在,有了它,我们就可以将URL字符串作为参数传递给URL的构造函数,并创建它的实例解析 阅读全文
posted @ 2020-11-28 22:12 浅笑·
摘要:1.什么是 Promise promise 是目前 js 异步编程的主流解决方案,遵循 Promises/A+ 方案。 2.Promise 原理简析 (1)promise 本身相当于一个状态机,拥有三种状态 pending fulfilled rejected一个 promise 对象初始化时的状态 阅读全文
posted @ 2020-11-28 22:10 浅笑·
摘要:众所周知, ES6 新增了一个全局、内建、不可构造的 Reflect 对象,并提供了其下一系列可被拦截的操作方法。其中一个便是 Reflect.apply() 了。下面探究下它与传统 ES5 的 Function.prototype.apply() 之间有什么异同。 函数签名 MDN 上两者的函数签 阅读全文
posted @ 2020-11-28 22:05 浅笑·
摘要:1. 可选链 从 v3.7 可用 这是当你尝试访问嵌套数据时的一个痛点,嵌套数据越多,代码就会变得越繁琐。 在下面的例子中,要访问 address ,你必须遍历 data.customer.address,而且 data 或 customer 有可能是 undefined,所以通常使用 && 运算符 阅读全文
posted @ 2020-11-28 21:58 浅笑·
摘要:引言 ES6中允许使用箭头=>来定义箭头函数,是ES6中较受欢迎也较常使用的新增特性。本文将从箭头函数的基本语法,与普通函数对比,箭头函数不适用场景三个方面进行梳理。 基本语法 // 箭头函数 let func = (name) => { // 函数体 return `Hello ${name}`; 阅读全文
posted @ 2020-11-28 21:55 浅笑·
摘要:jsON.parse和jsON.stringify是对json数据的转换,在js中使用的频率还是非常高的,比如localStorage,cookie中对复合型数据的存储,与服务器进行数据交互的格式转换等等。 JSON.stringify()是将一个JavaScript值(对象或者数组)转换为一个js 阅读全文
posted @ 2020-11-28 21:54 浅笑·
摘要:Node.js 的出现使得前端工程师可以跨端工作在服务器上,当然,一个新的运行环境的诞生亦会带来新的模块、功能、抑或是思想上的革新,本文将带领读者领略 Node.js (以下简称 Node) 的模块设计思想以及剖析部分核心源码实现。 CommonJS 规范 Node 最初遵循 CommonJS 规范 阅读全文
posted @ 2020-11-28 21:52 浅笑·
摘要:前言 对于灵活的js而言,继承相比于java等语言,继承实现方式可谓百花齐放。方式的多样就意味着知识点繁多,当然也是面试时绕不开的点。撇开ES6 class不谈,传统的继承方式你知道几种?每种实现原理是什么,优劣点能谈谈吗。这里就结合具体例子,按照渐进式的思路来看看继承的发展。 准备 谈到js继承之 阅读全文
posted @ 2020-11-28 21:45 浅笑·
摘要:JavaScript 使用原型继承:每个对象都从其原型对象继承属性和方法。在 JavaScript 中不存在 Java 或 Swift 等语言中所使用的作为创建对象 蓝图的传统类,原型继承仅处理对象。 原型继承可以模仿经典类的继承。为了将传统类引入 JavaScript,ES2015 标准引入了 c 阅读全文
posted @ 2020-11-28 21:42 浅笑·
摘要:引言 平时经常会逛 Github,除了一些 star 极高的大项目外,还会在 Github 上发现很多有意思的小项目。项目或是想法很有趣,或是有不错的技术点,读起来都让人有所收获。所以准备汇总成一个「漫游Github」系列,不定期分享与解读在 Github 上偶遇的有趣项目。本系列重在原理性讲解,而 阅读全文
posted @ 2020-11-28 21:40 浅笑·
摘要:在编程语言理论中,惰性求值(英语:Lazy Evaluation),又译为惰性计算、懒惰求值,也称为传需求调用(call-by-need),是一个计算机编程中的一个概念,它的目的是要最小化计算机要做的工作。它有两个相关而又有区别的含意,可以表示为“延迟求值”和“最小化求值”,除可以得到性能的提升外, 阅读全文
posted @ 2020-11-21 21:48 浅笑·
摘要:块级函数 严格模式下,在 ES6 之前应禁止使用。ES6 开始可以使用,函数的作用域为声明该函数的块内部。非严格模式下应禁止使用。 if(true) { function test() { //块级函数 console.log(1); } } test(); 直接修改对象的 prototype 原型 阅读全文
posted @ 2020-11-21 21:46 浅笑·
摘要:定义 Encapsulate a request as an object, thereby letting you parameterize other objects with different requests, queue or log requests,and support undoa 阅读全文
posted @ 2020-11-21 21:45 浅笑·
摘要:模块化的开发方式可以提高代码复用率,方便进行代码的管理。通常一个文件就是一个模块,有自己的作用域,只向外暴露特定的变量和函数。目前流行的js模块化规范有Commonjs、AMD、CMD以及ES6的模块系统 一、CommonJS Node.js是commonJS规范的主要实践者,它有四个重要的环境变量 阅读全文
posted @ 2020-11-21 21:42 浅笑·
摘要:事件驱动和发布-订阅 事件驱动架构是建立在软件开发中一种通用模式上的,这种模式被称为发布-订阅或观察者模式。 在事件驱动架构中,至少有两个参与者:主题(subject)和观察者(observer)。 主题就像调频收音机一样,向有兴趣收听该主题所说内容的观察者进行广播。 观察者可能只有一个,也可能有一 阅读全文
posted @ 2020-11-21 21:39 浅笑·
摘要:当你想到路由时,通常会想到类似 react 之类的库。但实际上,这些库和框架仍然使用 vanilla JavaScript。那么该怎么实现呢? 我希望这个“JavaScript 路由教程”能够帮你了解如何用原生 js 写出自己的路由。 简介 我遇到了很多出于各种原因想要自己创建路由的人。既然你看到本 阅读全文
posted @ 2020-11-21 21:36 浅笑·
摘要:报错详尽信息 Uncaught DOMException: Failed to execute 'toDataURL' on 'htmlCanvasElement': Tainted canvases may not be exported. 前言 最近在做一个创意类的图片合成工具,大概齐就是通过拼 阅读全文
posted @ 2020-11-21 21:34 浅笑·

上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 14 下一页