JavaScript
古娜拉黑暗之神乌拉呼
小心变猪
展开
-
export default 和export的区别
通过export 导出的模块,需通过以下格式引入,且名字需和模块名一样,但可以通过as重命名。通过export default导出的模块,可以通过任意名字引入。原创 2023-05-25 10:22:55 · 65 阅读 · 0 评论 -
ES6——解构赋值
es6解构赋值原创 2023-05-25 09:51:35 · 65 阅读 · 0 评论 -
ECMAScript5
新增特性:"use strict" 指令使用严格模式的原因:严格模式使我们更容易编写“安全的” JavaScript。严格模式把之前可接受的“坏语法”转变为真实的错误。(,向不可写的、只能读取的、不存在的属性赋值,或者向不存在的变量或对象赋值,将抛出错误)String.trim():删除字符串前后的空格Array.isArray():判断是否是数组Array.forEach():遍历数组Array.every():检测数组所有元素是否都满足条件,返回值为true|false。原创 2023-05-24 15:39:55 · 73 阅读 · 0 评论 -
js中的arguments
arguments 对象仅在函数内部有效,在函数外部调用 arguments 对象会出现一个错误。arguments前未跟函数名取当前函数的参数,否则取指定函数的。arguments.callee表示对函数的引用,即与函数等同。arguments为类数组只有数组中的length的属性。caller:返回调用当前函数的函数。原创 2023-05-24 10:33:52 · 52 阅读 · 0 评论 -
ES6和ES5的区别
promise:是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作)的结果,语法上来说是一个对象。set:集合,里面的值都是唯一的,可用于数组去重,对对象的引用为强引用,无法回收。箭头函数没有this指向,内部this指向通过查找到最外层的作用域。不能使用new,不是一个对象,是一个语法糖。async:返回一个promise对象。symbol:用于定义唯一的值。没有arguments。原创 2023-05-24 09:02:39 · 110 阅读 · 0 评论 -
《你不知道的js》读书笔记(一)
在作用域中找不到该变量时RSH会抛出 ReferenceError 异常,而LSH会自动隐式的创建一个全局变量(非严格模式下)词法作用域(作用域查找始终从运行时所处的最内部作用域开始,逐级向外或者说向上进行,直到遇见 第一个匹配的标识符为止)如果是,引擎就会使用这个变量;如果否,引擎会继续查找该变量。RSH:赋值操作的右侧 例如:consol.log(a)LSH:赋值操作的左侧。所查找的变量在赋值操作的左侧还是右侧。根据名称查找变量的规则。原创 2023-05-15 15:58:45 · 68 阅读 · 1 评论 -
js判断数据类型
结论:contructor和Object.prototype.toString.call可以用于全部情况。typeof更可用于检测基本数据类型(除了null),instanceof用于检测引用数据类型。instanceof:根据该实例对象的构造函数是否等于后面一个构造函数,只用于判断引用类型,基础数据类型不是对象,所以无法使用该种方法判断。操作符是按照数据在计算机底层存储的二进制结果来进行检测的,该方式无法区分数组、对象、null。:通过原型链访问实例对象指向的构造函数名。,对象在底层存储的二进制是。原创 2023-05-10 20:03:15 · 51 阅读 · 0 评论 -
js中的事件执行机制
执行到 setTimeout时由于 setTimeout属于宏任务等待时间到达或成功后,将回调的结果放入到宏队列中等待同步任务和微任务以及ui渲染执行结束后执行。的事件执行机制,前面相同,但当遇到开始执行宏任务时会优先执行宏任务里的微任务等到微任务队列为空时再执行下一个宏任务。执行到第五行代码时,返回的对象属于promise属于微任务,放入微任务队列等待同步任务执行完后执行。在上述例子中任务1、3、5都是属于同步任务,按照代码顺序先后执行。顺序:同步任务->微任务->ui渲染->宏任务。原创 2023-01-31 14:10:34 · 147 阅读 · 0 评论