随笔分类 -  JS

摘要:1.Math.cos() 数学上的cos(余弦) 比如下图: 余弦:即三角形的临边比斜边的值(直角边 / 斜边) 在这里比如角A的余弦就是AC / AB。记作:cos A = AC / AB。 余弦的取值范围是[-1,+1],它是一个周期函数,一个2Π是一个周期。余弦图如下: js中的余弦(Math 阅读全文
posted @ 2022-07-04 11:22 俄罗斯方块 阅读(1479) 评论(0) 推荐(0) 编辑
摘要:一个角有两种计量单位:弧度、角度 1.角度 如一个圆。两条射线从圆心向圆周射出,形成一个夹角和夹角正对的一段弧。当这段弧长正好等于圆周长的360分之一时,两条射线的夹角的大小为1度。 2.弧度 当角所对的弧长等于半径时,角的大小为1弧度,角所对的弧长是半径的几倍,那么角的大小就是几弧度。 所以: 1 阅读全文
posted @ 2022-07-04 11:10 俄罗斯方块 阅读(455) 评论(0) 推荐(0) 编辑
摘要:1.为什么要有原型和原型链 JavaScript中其实并没有类的概念。从es6通过class关键字才引入了Class这个概念,但是ES6的class可以看作是一个语法糖,它的绝大部分功能,ES5都可以做到。。 es6之前,实现生成实例对象的传统方法是通过构造函数。将实例对象与构造函数连接起来的就是原 阅读全文
posted @ 2022-06-23 17:17 俄罗斯方块 阅读(36) 评论(0) 推荐(0) 编辑
摘要:先说结论:构造函数和普通函数是一样的,没有任何区别。 比如一个函数: function foo(){ console.log("我是张三") } 这个函数可以直接这样调用: foo() // 我是张三 也可以当作一个构造函数: var a = new foo() // 我是张三 函数本身并不是构造函 阅读全文
posted @ 2022-06-21 17:23 俄罗斯方块 阅读(32) 评论(0) 推荐(0) 编辑
摘要:1. 先说定义: 当函数可以记住并访问所在的作用域时,就产生了闭包。即使函数是在当前作用域之外执行。 2. 理解闭包需要知道的知识:作用域 闭包产生的前置条件是作用域。JS的有两种作用域:全局作用域和函数作用域,且作用域之间可以相互嵌套。就像下面这样: 这里有三级作用域:全局作用域 - foo()函 阅读全文
posted @ 2022-06-20 08:48 俄罗斯方块 阅读(94) 评论(2) 推荐(1) 编辑
摘要:1.let关键字 先放let关键字声明变量的特点总结: let关键字可以将变量绑定到当前所在作用域(通常是{ .. }内部) 无法在块级作用域之外的地方访问使用let命令声明的变量 不允许使用let关键字多次声明同一个变量 不存在变量提升,使用let关键字声明的变量一定要在声明之后使用,否则将报错 阅读全文
posted @ 2022-06-20 08:47 俄罗斯方块 阅读(249) 评论(0) 推荐(0) 编辑
摘要:1.作用域是什么? 首先要知道一段JS程序执行过程中,有哪些角色在起作用: 引擎 负责JS程序的编译与执行过程 编译器 负责语法分析及代码生成 作用域 负责收集并维护所有声明的变量,并确定这些变量的访问权限 示例: var a = 2 这段代码是如何执行的: 编译时:编译器在当前作用域声明一个变量a 阅读全文
posted @ 2022-06-20 08:46 俄罗斯方块 阅读(50) 评论(0) 推荐(0) 编辑
摘要:1. this存在哪里? this在日常开发中给人一种它好像用的不多,但是又好像无处不在的错觉。但是它确实无处不在。 它是一个特殊的关键字,被自动定义在所有函数的作用域中。 2. 为什么要用this? 先说结论:希望在函数可以自动引用合适的上下文对象。 先放不用this的代码: function u 阅读全文
posted @ 2022-06-20 08:46 俄罗斯方块 阅读(23) 评论(0) 推荐(0) 编辑
摘要:1.Promise.prototype.finally() finally()方法用于不管Promise对象最后的状态如何,都会执行的操作。 promise .then(result => {···}) .catch(error => {···}) .finally(() => {···}); fi 阅读全文
posted @ 2021-02-02 16:36 俄罗斯方块 阅读(1244) 评论(0) 推荐(0) 编辑
摘要:1.含义 Promise是异步编程的一种解决方案。所谓Promise,简单来说就是一个容器,里面保存这某个未来才会结束的事件(异步操作)的结果。从语法上说,Promise是一个对象,从它可以获取异步操作的消息。Promise提供统一的API,各种异步操作都可以用相同的方法进行处理。 (1)Promi 阅读全文
posted @ 2021-01-31 22:04 俄罗斯方块 阅读(333) 评论(0) 推荐(0) 编辑
摘要:日常业务中,经常会遇到这么一个情况:需要用到的某个属性在接口返回的数据中可能是不存在的或者其上一级的属性是不存在的,例如: 1 const zs = { 2 info : { 3 name : { 4 firstName : "张", 5 lastName : "三" 6 }, 7 } 8 } 9 阅读全文
posted @ 2021-01-29 12:01 俄罗斯方块 阅读(1068) 评论(0) 推荐(0) 编辑
摘要:先看一个最简单的累加的递归函数: 1 function sum(n){ 2 if(n <= 1) return 1 3 return n + sum(n - 1) 4 } 5 console.log(sum(100)); // 5050 当传入的参数过大时会导致栈溢出: 即:超过了最大调用堆栈大小 阅读全文
posted @ 2021-01-28 12:01 俄罗斯方块 阅读(678) 评论(0) 推荐(0) 编辑
摘要:1 var toString = Object.prototype.toString; 2 3 console.log(toString.call({})); // [object Object] 4 console.log(toString.call([])); // [object Array] 阅读全文
posted @ 2021-01-15 09:34 俄罗斯方块 阅读(217) 评论(0) 推荐(0) 编辑
摘要:防抖和节流很长一段时间不太懂什么意思,总觉得它们是一个东西。但是花了时间着重了解以后发现它们还是有不少区别的。 但是有个共同点就是都是使用setTimeOut定时器实现的。 1.防抖 特点:一个函数,短时间多次触发,但是只执行最后一次触发的事件 思路:将所有的消息推入消息队列,但是只执行最后一次的消 阅读全文
posted @ 2020-12-31 18:30 俄罗斯方块 阅读(145) 评论(0) 推荐(0) 编辑
摘要:JS是一门单线程的语言,它的异步和多线程的实现是通过Event Loop事件循环机制实现的。 大致由三个部分组成: 调用栈(call stack) 消息队列(Message Queue) 微任务队列(Microtask Queue) 过程: Event Loop开始时,从全局开始一行一行执行,遇到函 阅读全文
posted @ 2020-12-24 15:56 俄罗斯方块 阅读(177) 评论(0) 推荐(0) 编辑
摘要:FileReader 对象允许Web应用程序异步读取存储在用户计算机上的文件(或原始数据缓冲区)的内容,使用 File 或 Blob 对象指定要读取的文件或数据。 文件处理是一系列的流程。每一步我们都需要知道,自己能做什么,自己做了什么。 1.获取文件 前端中,获取文件必须使用input标签。 <i 阅读全文
posted @ 2020-06-03 11:58 俄罗斯方块 阅读(140) 评论(0) 推荐(0) 编辑
摘要:1.简介 ES2017引入了async函数,使得异步操作变得更加方便。 async函数的返回值是Promise对象,因此可以使用.then()方法指定下一步操作。当函数执行的时候,一旦遇到await就会先返回,等到异步操作完成,再接着执行函数体后面的语句。 示例: function timeout( 阅读全文
posted @ 2020-03-28 21:17 俄罗斯方块 阅读(430) 评论(0) 推荐(0) 编辑
摘要:运算符 描述 . [] () 字段访问、数组下标、函数调用以及表达式分组 ++ -- - ~ ! delete new typeof void 一元运算符、返回数据类型、对象创建、未定义值 * / % 乘法、除法、取模 + - + 加法、减法、字符串连接 << >> >>> 移位 < <= > >= 阅读全文
posted @ 2020-03-18 16:50 俄罗斯方块 阅读(673) 评论(0) 推荐(0) 编辑
摘要:一、弄清基本信息: CommonJS规范 ES6语法 导出模块:module.exports 导出模块:export exports export default 导入模块:require 导入模块:import ***module.exports导出对应require导入,export导出对应im 阅读全文
posted @ 2020-03-14 21:04 俄罗斯方块 阅读(199) 评论(0) 推荐(0) 编辑
摘要:[a-z] 一位小写字母 [A-Z] 一位大写字母 [a-zA-Z] 一位字母 [0-9a-zA-Z] 一位字母或者数字 (\w) [\u4e00-\u9fa5] 一位汉字 \d 一位数字 \s 一位空字符 . 通配符 * 0-∞ ? 0-1 + 1-∞ ^ 字符串开头 $ 字符串结尾 \b 单词边 阅读全文
posted @ 2020-03-11 16:40 俄罗斯方块 阅读(802) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示