![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
重学前端
YanniLiYnni
这个作者很懒,什么都没留下…
展开
-
JavaScript基础 - 数组去重的11种方法
文章目录1. Set2. Map3. for + splice4. for + indexOf5. for + includes6. for + sort7. filter + hasOwnProperty8. filter + indexOf9. reduce + includes10. lodash 工具库11. 对比数组对象去重1. reduce2. Map3. Map + Object.values()4. 双重循环5. 冒泡排序法 以下例子皆以该数组为基础 var arr = [ 1, 1,原创 2020-12-04 10:26:47 · 205 阅读 · 0 评论 -
JavaScript基础 - JS遍历数组的12种方法
文章目录1. for2. foreach3. map4. for-of5. filter6. every7. some8. reduce9. reduceRight10. find11. findIndex12. keys、values、entries13. 比较jsperf手动检测 以下例子皆以该数组为基础 const arr = [1, 2, 3] 1. for 普通版 for(let i = 0; i < arr.length;i++ ){ //代码 } 优化版 // 使用临时变原创 2020-12-04 10:25:44 · 205 阅读 · 0 评论 -
JavaScript基础—深入了解作用域与作用域链
文章目录前言前置知识执行环境全局执行环境函数执行环境作用域1.全局作用域2.局部作用域3. 作用域优先级4. 同名变量5.ES5模拟块级作用域块级作用域1. 借助立即执行函数2. 定义函数并传值3. 使用setTimeout的第三个参数4. 使用 let、const 声明变量作用域链 前言 万丈高楼平地起,学习基础很重要。 前置知识 执行环境 执行环境(execution context)是 JavaScript 中最为重要的一个概念。执行环境定义了变量或函数有权访问的其他数据,决定了它们各自的行为。每个执原创 2020-12-01 19:58:01 · 149 阅读 · 0 评论 -
JavaScript—let和var的区别(良心总结!!)
文章目录前言1. 变量的挂载不同2.有无变量提升3.能否重复声明4.是否有块级作用域5. 暂时性死区6.const声明注意事项暂时性死区typeof不再安全隐蔽型死区总结 前言 由于ES6的出现,变量声明不再单调,除了可以用var外,还可以使用let和const。 ES5: var ES6: let、const 下面来了解下它们声明的变量有哪些区别。 1. 变量的挂载不同 var 声明的变量会挂载在 window 上,而 let 和 const 声明的变量不会 let 、const 声明的变量会原创 2020-12-01 19:56:06 · 311 阅读 · 0 评论 -
前端面试必考—JavaScript变量提升和函数提升详解
这里写自定义目录标题前言前置知识变量提升(Hoisting)例子1例子2例子3例子4例子5函数提升例子1:函数声明可被提升例子2:函数表达式不可被提升例子3优先级例子1例子2例子3:结合自执行函数 前言 变量是前端日常中使用的最频繁的语法。在开发过程,虽然知道怎么用,但是却不知道为什么,比如变量提升。 变量提升和函数提升在前端面试中经常会考察到,下面介绍它们是如何形成的以及有什么区别。 前置知识 在了解变量提升前,需要先了解一下js的执行过程,js执行分为两个过程: 词法分析阶段:词法分析主要包括:分原创 2020-12-01 19:49:21 · 202 阅读 · 0 评论 -
中高级前端必备技能—对象的”属性类型“应用场景总结
文章目录前言1.不想被遍历的属性默认不能被遍历的内部属性定义一个不想被遍历的属性2. 不想被修改的属性不许动我的属性我不动你的属性3. 动态的属性值`=`赋值同时也可以影响其他属性举个栗子4. 高级方法1. 创建一个对象常量2. 禁止拓展3. 密封4. 冻结 前言 初级前端开发工程师一般很少会关注对象的属性类型,因为简单的任务几乎不需要使用到,但是随着业务的复杂度提高或者需要自己造轮子的时候,了解对象的属性类型很有必要。 下面列举几种使用场景: 1.不想被遍历的属性 大多数的情况,在循环遍历的时候,我们原创 2020-12-01 14:28:54 · 226 阅读 · 0 评论 -
JavaScript—八种数据类型最全总结(检测与转换)
数据类型 数据类型检测 typeof 可检测基本数据类型和function,无法检测引用数据类型 var arr = [ null, // object undefined, // undefined true, // boolean 12, // number 'haha', // string Symbol(), // symbol 20n, // bigint function(){原创 2020-12-01 12:16:08 · 276 阅读 · 0 评论 -
JavaScript历史—ECMAScript和JavaScript的关系
JavaScript 是一种高级的、解释型的编程语言。JavaScript是一门基于原型、函数先行的语言,是一门多范式的语言,它支持面向对象编程,命令式编程,以及函数式编程。它已经由ECMA(欧洲电脑制造商协会)通过ECMAScript实现语言的标准化。 JavaScript 在 1995 年由 Netscape 公司的 Brendan Eich,在网景导航者浏览器上首次设计实现而成。 JavaScript和ECMAScript的关系 JavaScript是脚本语言,ECMAScript是规范。JavaSc原创 2020-12-01 12:05:32 · 456 阅读 · 0 评论