摘要:
介绍 JavaScript 是一个强大的面向对象编程语言,但是,并不像传统的编程语言,它采用一个以原型为基础的OOP模型,致使它的语法让大多数开发人员看不懂。另外,JavaScript 也把函数作为首要的对象,这可能会给不够熟悉这门语言的开发人员造成更大的困惑。那就是我们决定放在前面作为一个简短前言 阅读全文
摘要:
在 TypeScript 中使用联合类型时,往往会碰到这种尴尬的情况: interface Bird { // 独有方法 fly(); // 共有方法 layEggs(); } interface Fish { // 独有方法 swim(); // 共有方法 layEggs(); } functio 阅读全文
摘要:
从浏览器控制台到运行 Node.js 的终端,我们到处都会看到错误。本文的重点是概述我们在 js 开发过程中可能遇到的错误类型。 提示:良好的错误提示会导致快速而无痛的发展经历与缓慢而痛苦的发展经历之间的区别。在编写可重用的代码时,请确保自己在编写清晰易懂的错误处理代码。 1. RangeError 阅读全文
摘要:
表单校验 Web项目中,登录,注册等等功能都需要表单提交,当把用户的数据提交给后台之前,前端一般要做一些力所能及的校验,比如是否填写,填写的长度,密码是否符合规范等等,前端校验可以避免提交不合规范的表单。 假如我们有一个表单,校验逻辑如下: 用户名不为空 密码长度不低于6位 手机号符合格式 未使用策 阅读全文
摘要:
Node可以在不新增额外线程的情况下,依然可以对任务进行并发处理 —— Node.js是单线程的。它通过事件循环(event loop)来实现并发操作,对此,我们应该要充分利用这一点 —— 尽可能的避免阻塞操作,取而代之,多使用非阻塞操作。 node单线程实现高并发原理 众所周知nodejs是单线程 阅读全文
摘要:
全局对象 在浏览器JS中,通常window是全局对象,而nodejs中的全局对象是global,所有全局变量都是global对象的属性。 在nodejs中能够直接访问到的对象通常都是global的属性,如console、 process等 全局对象与全局变量 global最根本的作用是作为全局变量的 阅读全文
摘要:
查找编程代码中的错误被称为代码调试。调试并不简单。但幸运地是,所有现代浏览器都有内置的调试器。内置的调试器可打开或关闭,强制将错误报告给用户。 通过调试器,您也可以设置断点(代码执行被中断的位置),并在代码执行时检查变量。通常通过 F12 键启动浏览器中的调试器,然后在调试器菜单中选择“控制台”。 阅读全文
摘要:
事件循环 三个概念 调用栈,先进后出 宏任务队列(存放宏任务的,队列先进先出) 微任务队列 异步任务又分为宏任务和微任务 宏任务,macrotask,也叫tasks setTimeout setInterval setImmediate (Node独有) requestAnimationFrame 阅读全文
摘要:
一、浅拷贝 1、Object.assign(target,source,source...) a、可支持多个对象复制 b、如果source和target属性相同 source会复制target的属性 c、target只能为Object对象 var obj = {a:1,b:2} undefined 阅读全文
摘要:
带有if的代码简化 function validation(customer) { if (!customer.email) { return error('email is require') } else if (!customer.login) { return error('login is 阅读全文