随笔分类 - JS
摘要:首先, 明确一点, 没有嵌套时, 函数中的this指向它的调用者. 嵌套函数, 内部的函数的this指向它的调用者=>window(不是外层函数) var a = { f: function (params) { console.log(this); function fn() { console.
阅读全文
摘要:1 promise执行顺序 var p = new Promise(function (resolve, reject) { console.log("1"); resolve("2"); }) p.then((value) => { console.log(value); }); console.
阅读全文
摘要:call apply bind box.onclick = function(){ function fn(){ alert(this); } fn(); //window.fn() this指向window }; 1 我们原本以为这里面的this指向的是box,然而却是Window。一般我们这样解
阅读全文
摘要:吃水不忘挖井人 svg基础教程https://www.bilibili.com/video/BV1Pt411y7V6?p=1 要实现的效果 svg文件的写法: <?xml version="1.0" standalone="no"?> <!DOCTYPE svg PUBLIC "-//W3C//DT
阅读全文
摘要:1 目的: 为了解决回调地狱 setTimeout(() => { console.log('买菜'); }, 1000); setTimeout(() => { console.log('洗菜'); }, 1000); setTimeout(() => { console.log('炒菜'); }
阅读全文
摘要:let 不能重复声明,块级作用域,没有变量提升 const 大写,赋初值,不能修改,块级作用域,const TEAM=[],对他修改不报错,TEAM地址 解构赋值 let [a, b, c] = [1, 2, 3]; let [a, b, c, d, e] = 'hello'; let [a = 2
阅读全文
摘要:1 获得时间 new Date() 缺省参数时,返回的是当前时间 格式 结果 new Date() Thu Feb 03 2022 22:36:39 GMT+0800 (中国标准时间) new Date(1643899334112) Thu Feb 03 2022 22:42:14 GMT+0800
阅读全文
摘要:元素获得 原始方式 1. var x = document.documentElement; 2. var x = document.body; 3. var x = document.getElementById(“aBC”) 4. var x = document.getElementByTag
阅读全文
摘要:解析: 运行代码 加载: 下载代码 JS脚本 ( 因为js修改DOM, 所以需要先js解析 ) script标签: 阻塞html文档的解析, 直到脚本执行完 外引js: 先网络请求,加载js, 再阻塞html文档的解析, 直到脚本执行完 CSS ( js有可能依赖样式,如var a=$('#id')
阅读全文
摘要:String类定义的方法都不能改变字符串的内容 方法 描述 字符 charAt(3) 返回在指定位置的字符 ⇒'g' charCodeAt(3) 返回指定字符的 Unicode 编码 ⇒103 fromCharCode(103) 将字符编码转换为一个字符串 ⇒'g' 查找位置 indexOf() 下
阅读全文
摘要:事件捕获与事件冒泡 <script> function showTagName() { alert("事件捕获: " + this.tagName); } var elems = document.querySelectorAll("div, p, a"); for (let elem of ele
阅读全文
摘要:方法 描述 记忆: push pop是栈, 长的push unshift是添加元素 push() pop() 返回长度/元素 unshift() shift() 返回长度/元素 []变为字符串 join('') 以''合并(空带 , ) 为字符串 toString() 带, 内部操作 concat(
阅读全文
摘要:1 原型链继承 //父类 function Person(name,age){ this.name = name || 'unknow' this.age = age || 0 } //子类 function Student(name){ this.name = name this.score =
阅读全文
摘要:1 构造函数 //构造函数 function Fn(name) { //添加实例成员-属性 this.name=name //添加实例成员-方法 this.a=function () { console.log("实例成员"); } } //添加静态成员-方法 Fn.b=function () {
阅读全文
摘要:console.log(a) var a; console.log(a) a = 10 console.log(a) function a() { let c = 1; } console.log(a) //相当于: function a() { let c = 1; } var a; consol
阅读全文
摘要:防抖: 连续事件不触发, 停了0.5s才触发 记忆: 如果没有防抖,输入一个字发送一次请求, 浏览器会卡顿抖, 所以叫防抖 let t=null ipt.oninput = function(){ if(t !== null) clrTimeOut(t) //在0.5s以内的都清掉了 t = set
阅读全文
摘要:1 为什么需要闭包 1 如果想对一个变量实现累加,可以定义为全局变量 var num=0 function add(){ num++ } add()//1 add()//2 如果这样做 function add(){ var num=0 return num++ } add()//1 add()//
阅读全文