11 2020 档案
摘要:1. script标签 <script>标签的type属性值如果是module,代码会被当成ES6模块,只有在这个时候代码中才能出现import和export关键字 无论是内嵌JS代码还是外联JS代码,在代码被计算完成之前,页面剩余的内容不会被加载,即<script>会造成页面阻塞(阻塞时间包含下载
阅读全文
摘要:1995年JavaScript问世时主要用途时代替Perl等服务器段语言处理输入验证 1. JavaScript实现 1.1 ECMAScript ECMAScript只是一个标准,由ECMA-262定义并提供核心功能,在基本的层面,它描述了这门语言的:语法、类型、语句、关键字、保留字、操作符、全局
阅读全文
摘要:模板字符串 const student = { name: "Wango", age: 24, } // 普通字符串 const info1 = "My name is " + student.name + ", and I'm " + student.age + " years old"; //
阅读全文
摘要:1. 跨浏览器注意事项 在选择兼容哪些浏览器时要考虑: 目标受众的期望和需要(由项目确定) 浏览器的市场份额 浏览器支持所需的工作量 不应以牺牲质量赢取覆盖率 2. 五大开发问题 2.1 浏览器的bug和差异 代码必须完全符合浏览器提供的特性。 这需要完整的测试工具,足以覆盖代码和常用的和不常用的用
阅读全文
摘要:1. 深入事件循环 事件循环基于两个基本原则: 一次处理一个任务 一个任务开始后直到运行完成,不会被其他任务中断 事件循环通常至少需要两个任务队列: 宏任务队列:鼠标事件、键盘事件、网络事件、HTML解析、计时器事件等 微任务队列:DOM变化、Promises等 两种队列在同一时刻都只执行一个任务
阅读全文
摘要:*1. 向DOM中注入HTML 1.1 将HTNL字符串转换成DOM 转换的步骤如下所示: 确保HTML字符串是合法有效的 将它包裹在任意符合浏览器规则要求的闭合标签中 使用innerHTML将这串HTML插入到虚拟的DOM元素中 提取该DOM节点 预处理HTML源字符串 // 确保自闭合元素被正确
阅读全文
摘要:1. 在ES6之前的版本中模块化代码 每个模块系统至少应该能够执行一下操作: 定义模块接口,通过接口可以调用模块的功能 隐藏模块的内部实现,使模块的使用者不需要关注模块内部的实现细节。同时,吟唱模块的内部实现,避免有可能产生的副作用和对bug的不必要修改 1.1 使用对象、闭包和立即执行函数实现模块
阅读全文
摘要:为什么需要正则表达式 正则表达式可以用来: 操作HTML节点中的字符串 使用CSS选择器表达式定位部分选择器 判断一个元素是否具有指定的类名(class) 输入校验 其他任务 正则表达式进阶 正则表达式说明 创建正则表达式 // 字面量创建 const pattern = /test/ig; //
阅读全文
摘要:1. 数组 1.1 创建数组 创建数组有两种基本方式:使用Array构造函数、使用数组字面量[] // 通过构造函数 const subjects = new Array("Chinese", "Math", "English"); // 通过字面量 const fruits = ["apple",
阅读全文
摘要:1. 使用getter和setter控制属性访问 1.1 定义getter与setter 通过对象字面量定义,或在ES6的class中定义 // 通过对象字面量定义 const students = { student: ["Wango", "Lily", "Jack"], // 使用set和get
阅读全文
摘要:1. 理解原型 const device = { powerSource: "battery", displayDevice: true } const phone = { size: "small" } const huaweiPhone = { os: "HarmonyOS" } // Obje
阅读全文
摘要:通过编辑~/.termux/termux.properties配置 extra-keys = [\ ['ESC', 'CTRL', '&', '$', '!', '%', '<', '>'], \ ['APOSTROPHE', 'QUOTE', ':', '`', '+', '-', '(', ')
阅读全文
摘要:不缓存当前页面 <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> 不缓存
阅读全文
摘要:Termux安装配置设置参见: 国光:Termux高级终端使用配置教程 搭建FTP服务器参见: Termux安装使用FTP服务器
阅读全文
摘要:1. 生成器函数 1.1 定义生成器函数 // 在关键字function后面添加 * 定义生成器函数 function* newGenerator() { // ... // 在生成器内部使用yield生成独立的值 yield "One"; yield "Two"; // ... } // 调用生成
阅读全文
摘要:1. 理解闭包 闭包允许函数访问并操作函数外部的变量。只要变量或函数存在于声明函数时的作用域内,闭包即可使函数能够访问这些变量或函数 var outerName = "Wango"; var fn; function outerFn() { var innerName = "Lily"; funct
阅读全文
摘要:1. 隐式函数参数 arguments 所有参数集合 function foo() { console.log(arguments); console.log(arguments[0]); console.log(arguments.length); } foo(1, 2, 3); // Argum
阅读全文
摘要:1. 函数与对象的区别 function foo(){} class Cls {} foo(); // 函数是可调用的 Cls(); // Uncaught TypeError: Class constructor Cls cannot be invoked without 'new' 2. 回调函
阅读全文
摘要:1. Web应用的生命周期 用户输入URL(或者单击链接) --> 生命周期开始 浏览器生成请求并发送到服务器 服务器执行某些动作或者获取某些资源;将响应发回客户端 浏览器处理HTML、CSS和JavaScript并构建结果页面 浏览器监控事件队列,一次处理其中一个事件 用户与页面元素交互 用户关闭
阅读全文
摘要:traceur转码(编译)器 Babel转码(编译)器 JavaScript API 的核心组成部分:ECMASCcript, DOM, BOM 桌面应用:electron 移动应用:Apache Cordova 服务器:Node.js
阅读全文

浙公网安备 33010602011771号