随笔分类 - JavaScript基础
JS基础的类型、方法、技巧等
摘要:virtual DOM 在JS里头构建当前DOM树结构,然后精准计算需要更新的DOM元素,来提升性能 shadow DOM 封装组件,隐藏内部的复杂DOM结构 <input type="range" />打开浏览器的 Show user agent shadow DOM 开关
阅读全文
摘要:"references": [ { "path": "modules/xxxx" }, { "path": "modules/xxx" }, ], reference 可以提高构建速度 "compilerOptions": { "paths": { "xx": ["modules/xxx/src/c
阅读全文
摘要:JS 中常用的模块: ES module 浏览器原生支持的模块,typescript也是参考的这个模块 编写模块文件 "test.js" export const name = 'square'; 导入模块并测试 <!DOCTYPE html> <html lang="en"> <head> <me
阅读全文
摘要:Typescript 有一种统一的语言处理模块的导入和导出,在编译时可以根据最终js文件应用到哪一种模块系统,根据模块系统的规范,生成代码 原始Ts文件 import m = require("mod"); export let t = m.something + 1; 下面是TS根据不同模块系统,
阅读全文
摘要:平常大型工程项目,都会使用ts编码,js只是作为偶尔测试的代码。 但还是有时候,比如刷力扣、验证一些东西,就想简单的用一下js,不想搞那么复杂,单硬写js,又容易搞出来一堆简单的笔误。这时候jsconfig就派上用场了。 下面是非常实用的jsconfig { "compilerOptions": {
阅读全文
摘要:// 判断变量否为function const isFunction = variable => typeof variable 'function' // 定义Promise的三种状态常量 const PENDING = 'PENDING' const FULFILLED = 'FULFILLED
阅读全文
摘要:默认div不能得焦点,tabindex -1 设置成0或者其他正值可以得焦点 div tabindex -1,不影响子元素得焦点 被滚动条撑大得div在firefox下,默认可以得焦点 浏览器 getBoundingRect 方法返回的是相对于当前浏览器可视区域的top left 但是应用绝对布局的
阅读全文
摘要:element.getBoundingClientRect();
阅读全文
摘要:combobox 控件 选中某一项目: document.getElementById('personlist').value=17; document.getElementById('personlist').selectedIndex=2; 单选控件 A B C D CSS接口 input[ty
阅读全文
摘要:tabindex attribute: 按下tab键,先挑出设置tabindex,并且值大于0的。按照tabindex从小到大移动。 再挑出没有设置tabindex 和设置了并且设置成0的,按照在html代码结构里的顺序进行移动。 navigator.userAgent: Mozilla/5.0 (
阅读全文
摘要:在一个文件或模块中,export、import可以有多个,export default仅有一个 //a.js const str = "blablabla~"; export default str; 但是export 可以使用多个 export {e1,e2,e3} export {e5,e6}
阅读全文
摘要:数组类型 数组直接从Object类型派生 Array.prototype = Object.create(Object.prototype); 数组原型上重写了toString方法,大概就是遍历每一项调用toString方法,用逗号分隔,最后返回拼接的字符串 Array.prototype.toSt
阅读全文
摘要:Date类型 所有时刻实际上都是以一个数字存储的。 1970年1月1日0时0分0秒0毫秒 对应存储的就是0 1970年1月1日0时0分0秒1毫秒 对应存储的就是1 1970年1月1日0时0分0秒2毫秒 对应存储的就是2 以此类推 使用Date类型 var date = new Date(0); 如何
阅读全文
摘要:Object类型 是什么? 一组无序的名值对儿。 定义: var obj = new Object(); var obj = {}; 在这个过程中发生了什么? 先使用构造一个Object类型的实例对象。 1.设置constructor属性,设置为Object这个Function 2.设置__prot
阅读全文
摘要:类型转换 1.以Boolean为核心的转换: 转换方法: Boolean(result); 自动转换时机: if (a){ //... } 原始类型 策略 String ""是false,其余一律为true,包括 'true' 'false' Number 0和NaN是false,其余一律是true
阅读全文
摘要:JS变量名、函数名、参数名命名规范: 1.区分大小写 sheet 和 Sheet 是两个不同的变量 2.名字不要和关键字保留字冲突 3.起名字,局部变量、函数名一般小写字母开头,驼峰式 首位字符 字母、_、$ 后面的字符 字母、_、$、数字 使用一个变量首先是声明它 全局作用域里:写不写var 都是
阅读全文
摘要:JS提供了一组接口与浏览器解析的html文档内容一一对应,用户使用方法能够获取html中的元素,并产生动态交互效果。 首先一份HTML文档,里面的东西。每一部分都在原生JS上定义了相应的类型。 所有类型都是从Node类型派生出来的。 Node类型继承自EventTarget类型。EventTarge
阅读全文
摘要:1. 打开命令窗口,并输入命令执行 shift + ctrl + P 2. 同时打开多个文件,并在不同文件中,切换焦点 ctrl + 1 ctrl + 2 ctrl + 3 等依次类推 3. 在多行同一位置放置光标 ctrl + alt + 上/下 4. 缩小或者扩大选择 shift + alt +
阅读全文
摘要:默认 box-sizing 是content-box Chrome IE width 169 149 offsetWidth 177 153 bounding width 177 153 box-sizing 修改成border-box Chrome IE width 177 149 offsetW
阅读全文
摘要:JS里面settimeout可以传一个时间参数,表示延迟多长时间之后立即执行。 当然这个时间并不能精确,只能尽力而为: 例如: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" c
阅读全文