前端
文章平均质量分 84
流光D
靡不有初,鲜克有终。
展开
-
JS中应优先书写函数声明还是函数表达式?
近期,笔者阅读了公司新制定的前端代码规范,发现其中有些内容适用范围在 ES6 出现之前,对于当下的 JS 开发环境来说,有些明显不适应了,比如关于在函数体定义时,到底应该优先使用函数声明还是函数表达式呢?代码规范中的描述首先我们先明确在 JS 中,什么是函数声明,什么是函数表达式。JS 中,函数声明和函数表达式都是用来定义函数的。函数声明是独立的语法结构,是单独存在的。但是函数表达式是作为表达式的一部分存在的。函数声明定义了一个具名的且不需要赋值的“函数变量”,它是独立的语法,只能用在全局和函数体内。...原创 2022-08-18 09:05:14 · 661 阅读 · 0 评论 -
JS 中防抖函数形成闭包的相关处理及思考
在匿名函数 A 中,timeout 被用来作为 setTimeout 函数的返回值,因为防抖函数要实现的效果是在高频次尝试触发某个行为时,阻止该行为发生,而在一段时间(wait)后都没有尝试触发该行为时,再执行该行为(生活中这样的例子很常见,比如公交车司机停车后等待乘客全部上车后关门),因而我们需要 timeout 变量保存之前的 id 值(有 id 值存在则说明在此之前有尝试触发过该行为)。当然,这是一个 vue 文件。在 JavaScript 中,每当创建一个函数,闭包就会在函数创建的同时被创建出来。.原创 2022-08-04 16:43:32 · 476 阅读 · 0 评论 -
关于 JS 中的 reduce 函数的常见用法
一、前言如题,JS的数组中有许多十分常用的内置函数,它们大多被封装在 Array.prototype 原型上,比如 map, concat, filter, find, push, splice 等等常用函数。今天笔者想要介绍下 Array.prototype 上的reduce 函数。原因是相比于前面列举的那些函数来说, reduce 函数不是那么常见却又非常实用用,不管是在面试还是在实际开发中都会见到。二、reduce 函数用法简介reduce,在英文中有“归纳为……”的意思,它出现的本意原创 2021-07-09 14:16:06 · 3139 阅读 · 0 评论 -
JS 深拷贝方法收集
JS 深拷贝实现原创 2021-04-22 09:38:25 · 150 阅读 · 0 评论 -
JS 单例设计模式解读与实践(Vue 中的单例登录弹窗)
前言在之前笔者发布的一篇文章中(Vue全局手动挂载组件封装(Message, Loading, Spin类组件))有介绍到在 vue 中实现全局手动挂载登录组件的实现,这样做的好处是可以在任何页面的业务逻辑中轻松调用一行代码便拉起了登录弹窗(this.$loginPopup())。但是当时在设计的时候还有一个问题没有考虑就是这个登录弹窗组件的调用生成方法并不是单例的,这就意味着在某些时候可能在页面上会同时弹出好几个一样的登录弹窗,而在我们的业务逻辑中一般认为登录弹窗是唯一的;因此需要对这段组件的生成代码原创 2021-04-16 16:14:32 · 3222 阅读 · 4 评论 -
在 uniApp 项目中使用 echarts tooltip 无法解析 html 标签的问题及解决
前言如题,最近笔者所在项目组正在开发一个需要有 web,h5及App版本的项目。那么在技术选型的时候我们自然是想到了目前国内比较火的 uniApp 了,根据其官网介绍是一次开发到处使用啊,而且uni本身也是基于 vue 生态开发的,对我们之前一直使用 vue 全家桶开发的前端人员来说也是比较容易过渡(仔细一想目前如果是要开发一个同时带有 web h5和 app 的项目,除了 uni 的话,可能就是React Native(主要是开发App), weex(类似RN但是用的更少),最有前景的 Flutter原创 2021-02-02 16:23:54 · 6984 阅读 · 26 评论 -
React Hooks 入门教程
React 是主流的前端框架,v16.8 版本引入了全新的 API,叫做React Hooks,颠覆了以前的用法。这个 API 是 React 的未来,有必要深入理解。本文谈谈我的理解,简单介绍它的用法,帮助大家快速上手。阅读本文需要有 React 基础。如果你还没学会 React,可以先看一下它的教程。一、组件类的缺点React 的核心是组件。v16.8 版本之前,组件的标准写法是类(class)。下面是一个简单的组件类。import React, { Component .转载 2020-06-01 09:57:26 · 461 阅读 · 0 评论 -
CSS面试高频题之什么是BFC
css中的BFC是什么?怎样触发?原创 2020-04-30 17:10:54 · 1186 阅读 · 1 评论 -
在 JS 文件和 Vue 组件中使用防抖节流函数
如题,最近笔者发现如果将防抖节流函数写成工具类函数放在公共文件中进行调用的话,在一般的JS文件里调用和在Vue组件中调用是有不同的区别的。首先我们参考网上其他资料写一个防抖函数和一个节流函数:防抖函数(debounce):function debounce(func, wait, immediate) { var timeout return function () {......原创 2019-11-13 10:14:20 · 12438 阅读 · 6 评论 -
JS中数组的map函数需要注意的一点细节(处理含引用类型的数组元素时)
如题,今天笔者在使用map函数时发现很多教程文档并没有说清楚其中的一个细节,比如对于map函数的说明,菜鸟教程提到注意:map() 不会改变原始数组。比如以下例子:var array1 = [1, 4, 9, 16];// pass a function to mapconst map1 = array1.map(x => x * 2);console.log...原创 2019-10-31 11:02:00 · 2541 阅读 · 0 评论 -
JavaScript中的逻辑运算的返回值(逻辑与&&,逻辑或||,逻辑非!)
原文链接:https://blog.csdn.net/kevinhjing/article/details/48206787在JavaScript中,逻辑与非或经常用在条件判断语句中:if( a || b ){//same code.}直观的感觉是逻辑或运算会返回一个布尔值:true和false但常常也会看到这样的条件赋值写法:var x=a||b;这会让一些...转载 2019-09-10 16:30:08 · 2544 阅读 · 0 评论 -
ThingJS 开发使用感悟
ThingJS 隶属于北京优锘科技有限公司,是优锘科技旗下物联网三维可视化开发平台。ThingJS采用JavaScript开发语言,主要面向前端程序员和实施人员。ThingJS平台让传统企业无需组建3D可视化开发团队,也能开发3D可视化应用。以上解释来自百度百科,我相信应该是由其官方人员编写的。简单的说,ThingJS 是由国人开发的(北京优锘),需要付费使用的,基于ThreeJS封装的一个 3d 可视化开发平台。.....................原创 2022-08-11 14:28:06 · 6802 阅读 · 12 评论 -
ECMAScript 6学习笔记(一):展开运算符
转载自:http://www.cnblogs.com/mingjiezhang/p/5903026.html同步发布于:http://mjzhang.cn/(转载请说明此出处)。JavaScript是ECMAScript的实现和扩展,ES6标准的制定也为JavaScript加入了许多新特性。本文主要记录展开运算符。展开运算符(spread operator)允许一个表达式在某处展开。展...转载 2019-05-22 11:10:12 · 320 阅读 · 0 评论 -
2019上半年前端面经总结(前端开发实习生)
【2019.10.24更新,这是一篇最早在今年3月份就开始写的文章了,但是但是只写了一半不到就落在了草稿箱里==|,然后就一直没管了,趁着今天1024把这篇面经发出来,顺便蹭个徽章^_^】笔者从今年2月下旬来到深圳开始投递简历进行前端开发实习岗位的应聘,直到3月初才慢慢找到了当前市场对于前端开发实习生的要求的规律和节奏,最终在3月10号之后收获了两个小公司的offer,当时也是结合自己的...原创 2019-10-24 14:17:18 · 20488 阅读 · 9 评论 -
【 js 基础 】【 源码学习 】 深浅拷贝
转载自:http://www.cnblogs.com/lijiayi/p/jsdeeepcopy.htmlunderscore的源码中,有很多地方用到了 Array.prototype.slice() 方法,但是并没有传参,实际上只是为了返回数组的副本,例如 underscore 中 clone 的方法:// Create a (shallow-cloned) duplicate of ...转载 2019-05-22 11:38:41 · 473 阅读 · 0 评论 -
Js中各类型数据到bool的转换
转载自:https://www.cnblogs.com/xdq-zh/p/4080100.html在返回Json字符串给前台时遇到的问题,返回的bool数据总是为TRUE特意查了一下,发现了Js中各类数据转换到bool型是的结果。希望能给遇到同样问题的人一点帮助。数据类型 转换为bool后的值null---------------------FALSEundefin...转载 2019-05-29 13:48:23 · 1961 阅读 · 0 评论 -
使用setTimeout函数实现setInterval函数的效果,利用Promise来控制异步代码的执行顺序
如题,今天回顾了《JS高级程序设计》书中关于setTimeout函数和setInterval函数的描述,书中介绍到:可见,在使用超时调用时,没有必要跟踪超时调用 ID,因为每次执行代码之后,如果不再设置另一次超时调用,调用就会自行停止。一般认为,使用超时调用来模拟间歇调用的是一种最佳模式。在开发环境下,很少使用真正的间歇调用,原因是后一个间歇调用可能会在前一个间歇调用结束之前启动。 而像...原创 2019-07-18 17:11:01 · 12824 阅读 · 0 评论 -
js中forEach,for in,for of循环的用法
转载自:https://www.cnblogs.com/amujoe/p/8875053.html一、一般的遍历数组的方法:var array = [1,2,3,4,5,6,7]; for (var i = 0; i < array.length; i) { console.log(i,array[i]); } 二、用for...转载 2019-07-22 09:07:52 · 396 阅读 · 0 评论 -
JS中的this指向情况汇总
对于我们开发人员来说,this这个关键字可以说是再熟悉不过了,几乎所有主流的程序开发语言都带有this关键字。今天我们来说说在JavaScript中的this指向都有哪些情况(这也是面试中常常会问到的问题)。JS中的this指向对于刚刚学习这门的语言的同学来说,有时往往会让人感到很困惑:明明觉得自己在很多时候应该是知道this的指向的,可真正要你回答this的指向到底有哪几种情况时,又往往说...原创 2019-09-09 17:26:29 · 12090 阅读 · 0 评论 -
关于JS中的对象展开运算符“...”的一些思考
最近笔者在写vue的时候用到了JS中的新特性展开运算符(ES6、ES7新提出)。展开运算符的加入可以使我们在写JS代码时更加简洁灵活。可用于函数调用、解构赋值等方面。具体可以参考这篇博客:ECMAScript 6学习笔记(一):展开运算符。今天笔者想说说对象展开运算符的使用,对象展开运算符提出于ES7的草案之中,可以这样使用:let shortcuts = { attr1:...原创 2019-05-22 11:02:09 · 19049 阅读 · 4 评论