随笔分类 - 了解(杂)
摘要:回调地狱 // 获取奶茶的方法 function getTea(fn){ setTimeout(() => { fn("奶茶") },1000) } // 获取火锅的方法 function getHotpot(fn){ setTimeout(() => { fn("火锅") },2000) } //
阅读全文
摘要:节流 <style> body{ height: 2000px; } </style> 节流的概念和作用 // 节流:控制执行次数 // 节流的作用:控制高频事件执行次数 window.onscroll = throttle(function(){ console.log("hello world"
阅读全文
摘要:封装一个用防抖的函数 <input type="text"> 封装代码 let inp = document.querySelector('input') inp.oninput = debounce(function(){ console.log(this.value) },500) // 防抖
阅读全文
摘要:防抖 <input type="text"> 利用计时器实现一个防抖 // 防抖:用户触发事件过于频繁,只要最后一次事件的操作 let inp = document.querySelector("input") let t = null inp.oninput = function (){ if (
阅读全文
摘要:闭包的应用 // 应用:封装一段代码 let xm = (function (){ let a = 10; let b = 20; function add(){ return a + b } function sub(){ return a - b } return { add, sub } })
阅读全文
摘要:闭包的基本概念 // 闭包:函数嵌套函数,内部函数就是闭包 // 正常情况下,函数执行完毕,内部变量会销毁 // (销毁:释放内存空间) // 闭包内部函数没有执行完成,外部函数变量不会被销毁 function outerFun() { let a = 10 function innerFun()
阅读全文
摘要:模板字符串 let a = "hello world" let b = "test" let str = "我是'超人'" // 里外都是双引号 let str = "我是\"超人\"" // 模板字符串 let str = `我是"超人"` // 可以换行 let str = `我是 超人` 可以
阅读全文
摘要:箭头函数与普通函数的区别 // 普通函数 function fun() { return 100 } const fn = function () { return 100 } // 箭头函数 const fn1 = () => 100 /* 箭头函数 ()中定义参数,如果只有一个参数,可以不写括号
阅读全文
摘要:解构赋值 // 解构赋值 // 数组的解构赋值 let [a, b] = [10, 20]; [a,b] = [b,a]; console.log(a); // 20 console.log(b); // 10 // 对象的解构赋值 let {name,age} = { name : "小明", a
阅读全文
摘要:let(定义变量,有块级作用域) const(常量,不能修改) // let 和 var 的区别 // var 定义的变量没有块级作用域的概念 // let 定义的变量有块级作用域 if (true) { var a = 10 } console.log(a) // var 好 还是 let 好?
阅读全文
摘要:基本概念 分类: 原始类型(值类型、基本类型):Number、String、Boolean、null、undefined 引用类型:Object 原始类型与引用类型三种情况下的对比: 1.赋值:原始类型赋【值】;引用类型赋【地址】 2.比较:原始类型比较【值】是否相等;引用类型比较的是【地址】是否指
阅读全文
摘要:转载自https://github.com/lydiahallie/javascript-questions/blob/master/zh-CN/README-zh_CN.md
阅读全文
摘要://1: let 块级独立作用域 for(let i=0; i<=5; i++){ setTimeout(()=>{ console.log(i); }, i * 1000); } //2:立即执行函数,定义后立即执行,将变量包裹成局部变量。 for(var i=0; i<=5; i++){ (fu
阅读全文
摘要://定义柯里化函数 function curry(fn) { //定义一个空数组 var arr = []; //闭包,返回一个匿名函数 return function () { //如果参数的长度等于0时(就是不填参数,如下面的fns()) if (arguments.length 0) { //
阅读全文
摘要:数组拼接 方法一 for循环 var arr = ['tom', 'jerry']; var arr2 = [1, 2]; for(var i=0; i<arr2.length; i++){ arr.push(arr2[i]) } console.log(arr); // ['tom', 'jerr
阅读全文
浙公网安备 33010602011771号