![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JavaScript
文章平均质量分 73
何极光
何程龙,大学计算机科学与技术专业毕业,现就任前端开发工程师。曾荣获:CSDN博客专家、签约讲师,InfoQ写作社区专家博主,中国开源协会-开发分会管理委员会委员。现主要从事软件开发及软件教育培训,具有丰富的实战经验,善于将复杂问题简单化,擅长Web前端、JavaScript框架、Java并发、C#编程、Python Web、数据库SQL等领域及技术。
展开
-
Vue利用bignumber.js 解决精度
【代码】Vue利用bignumber.js 解决精度。原创 2023-08-02 08:45:01 · 1275 阅读 · 0 评论 -
vue使用Dayjs计算常用日期
推荐一个轻量的处理时间和日期的 JavaScript 库:dayjs原创 2022-10-25 17:52:50 · 2802 阅读 · 0 评论 -
解决ECharts中使用tooltip时鼠标移入抖动问题
当鼠标移入Echarts的时候页面可能会出现抖动的情况,据查阅资料得知:出现这种情况是因为echarts所在容器的外部一定存在设置了类似overflow:auto这种滚动条,而tooltip中有这么个属性transitionDuration,默认为0.4秒,当我们鼠标移入的时候,因为有0.4秒的延迟,本身tooltip就占有一定的宽高,所以在这0.4秒的时间dom超出容器导致滚动条的产生,0.4秒过后又恢复,就出现了抖动的异常现象。原创 2022-10-20 14:18:19 · 2546 阅读 · 1 评论 -
JavaScript中let的用法
前言:在 ES6 之后,js 声明变量不仅限于使用var关键字,下来让我们看一下另两种方式。文章目录一、let命令二、一、let命令ES6 新增了let命令,用来声明变量。它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效。{ let a = 10; var b = 1;}a // ReferenceError: a is not defined.b // 1上面代码在代码块之中,分别用let和var声明了两个变量。然后在代码块之外调用这两个变量,结果let声原创 2022-03-01 22:15:58 · 9771 阅读 · 0 评论 -
JavaScript中的模板字符串
前言:模板字面量 是允许嵌入表达式的字符串字面量。你可以使用多行字符串和字符串插值功能。它们在ES2015规范的先前版本中被称为“模板字符串”。文章目录一、语法二、描述三、多行字符串四、插入表达式一、语法`string text``string text line 1 string text line 2``string text ${expression} string text`tag `string text ${expression} string text`二、描述模板字原创 2020-11-12 17:14:53 · 957 阅读 · 0 评论 -
最新的ECMAScript标准定义了8种数据类型,你知道吗?
前言:在前面的博文中,我们提到了JavaScript的五大基本数据类型详细讲解、JavaScript 六大数据类型图示详解 [重点]。但是随着ECMAScript标准的更新,又产生了新的数据类型,让我们一起来看一下吧。最新的 ECMAScript 标准定义了8种数据类型:1. 七种基本数据类型布尔值(Boolean),有2个值分别是:true 和 false。null , 一个表明 null 值的特殊关键字。 JavaScript 是大小写敏感的,因此 null 与 Null、NULL或变体完全不原创 2020-11-10 15:57:25 · 1014 阅读 · 0 评论 -
console.log()和console.dir()的区别
前言:本博文主要讲解console.log()和console.dir()的区别。更多关于console的详细方法请查看: https://segmentfault.com/a/1190000004528137文章目录一、案例二、运行效果图三、总结一、案例<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" cont原创 2020-11-10 11:55:34 · 3122 阅读 · 0 评论 -
JavaScript必备知识点
一、JavaScript概述JavaScript是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言。同时也是一种广泛用于客户端Web开发的脚本语言,常用来给HTML网页添加动态功能。利用它可以完成以下任务:响应事件读写HTML元素验证用户输入的数据检测访问者的浏览器创建cookies二、JavaScript嵌入页面的方式在网页中调用JavaScript有3种方法:直接加...原创 2020-04-02 16:15:50 · 504 阅读 · 2 评论 -
JavaScript面试,必会知识!
一、编译型语言和解释型语言之间的区别1、程序控制权不同:对于解释型语言而言,程序运行时的控制权在解释器(jre,.net)而不再用于程序。编译型语言对于编译器而言,运行时的控制权在用户程序。2、运行速度不同:一些网页脚本,服务器脚本以及辅助开发接口这样的对速度要求不高,对不同系统的兼容性有一定要求的程序则通常使用解释性语言,如Java、JavaScript、VBScript、Perl、P...原创 2019-10-26 09:25:21 · 293 阅读 · 0 评论 -
JavaScript getElementsByTagName()方法介绍
getElementsByTagName()根据 标签名 获取一组元素节点对象getElementsByTagName()可以根据 标签名 获取一组元素节点对象,该方法所有浏览器均可使用,即使查询到的元素只有一个,也会封装到数组中返回注意:这个方法会给我们返回一个类数组对象,所有查询到的元素都会封装到对象中,如下图:我们若要查找具体元素,就必须使用索引,如下图:我们可以通过 in...原创 2019-06-25 10:40:01 · 13037 阅读 · 5 评论 -
JavaScript 构造函数与原型
一、构造函数的概念在JavaScript中,构造函数是给对象添加属性,初始化属性用的。二、对象的创建过程var p = new Person();以上面这个p对象创建为例:首先使用new关键字创建对象,类似于使用{},这个时候创建出来的对象是一个"没有任何成员"的对象。这里需要注意两点:使用new关键字创建的对象,对象的类型就是创建这个对象使用的构造函数的函数名使用{}创建对象...原创 2019-07-17 18:28:50 · 324 阅读 · 0 评论 -
JavaScript 面向对象【定义一个类以及实现继承】
JavaScript 本身并没有类和接口的概念了,面向对象都是基于原型实现的。为了简单,我们只分析面向对象的两个问题:如何定义一个类?如何实现类的继承【一】定义一个类我们使用构造函数 + 原型的方式来定义一个类。使用构造函数创建自定义类型,然后使用 new 操作符来创建类的实例,但是构造函数上的方法和属性在每个示例上都存在,不能共享,于是我们引入原型来实现方法和属性的共享。最后,...原创 2019-07-19 10:51:24 · 490 阅读 · 0 评论 -
JavaScript 初步了解面向过程与面向对象
一、面向过程与面向对象编程面向过程:所有的工作都是现写现用。面向对象:是一种编程思想,许多功能事先已经编写好了,在使用时,只需要关注功能的运用,而不需要这个功能的具体实现过程。二、面向过程和面向对象的对比举例:洗衣服面向过程的思维方式: step 1:收拾脏衣服 step 2:打开洗衣机盖 step 3:将脏衣服放进去 step 4:设定洗衣程序 ...原创 2019-07-17 23:40:33 · 374 阅读 · 0 评论 -
JavaScript 理解prototype和__proto__
理解prototype和__proto__对象类型prototype__proto__函数对象YesYes普通对象NoYes只有函数对象具有prototype这个属性prototype和__proto__都是 JS 在定义一个对象时的预定义属性prototype被实例的__proto__指向__proto__指向构造函数的prototypec...原创 2019-07-19 10:51:44 · 1650 阅读 · 1 评论 -
JavaScript 构造函数,最易忽略的细节!
通常构造函数的首字母大写,有两个特点:函数体内部使用 this 关键字,代表所要生成的对象实例;生成对象的时候必须用 new 关键字。var Fun = function(){ this.price = 10;}var p = new Fun(); p.price; //10/* 忘记`new` */var p1 = Fun(); p1; undefined ...原创 2019-07-19 08:26:44 · 266 阅读 · 0 评论 -
JavaScript 理解原型与原型链【总结】
理解原型与原型链prototype 和__proto__就是为了构建原型链而存在的对象只有__proto__属性函数有 prototype 属性函数是个特殊的对象,所以它也有这个__proto__这个属性这段代码的执行过程:首先创建了一个构造函数 Dogs,传入一个参数 name,Dogs.prototype 也会自动创建给对象 Dogs 增加了一个方法通过构造函数 Dogs ...原创 2019-07-19 08:28:11 · 279 阅读 · 0 评论 -
JavaScript 理解原型与原型链【理解】
首先我们试一试下面这些代码,看输出结果是啥?smallDog.__proto__ === Function.prototypeDogs.prototype 指向什么Dogs.prototype.__proto__ 指向什么Dogs.prototype.__proto__.__proto__ 指向什么上面例子中 getName 最终是查找到了,那么如果在原型链中一直没查找到,会怎么样?...原创 2019-07-19 08:27:40 · 398 阅读 · 0 评论 -
JavaScript 深入了解面向对象
一、什么是面向对象?面向对象是指把要解决的问题抽象模拟成现实生活中的物体。它主要是把问题看成了一个个对象,这些对象想现实生活中的物体一样具有继承性,多态性(就是除了继承它父亲有的,还有自己有,而父亲无类的属性(特征)与方法(行为)。它主要是以对象的观点去看待问题、解决问题的,比如:人是一个对象,黑人也是一个对象,黑人是人,因而具有人的所有特征,但是他又具有特殊性,就是他是黑人。这个例子说明了,...原创 2019-07-17 18:03:27 · 326 阅读 · 0 评论 -
JavaScript this、arguments对象【详解】
在调用函数时,浏览器每次都会传递进两个隐含的参数【1】函数的上下文对象 this以函数形式调用时,this 永远都是 window以方法的形式调用时,this 就是调用的对象以构造函数的形式调用时,this 是新创建的那个对象使用 call 和 apply 调用时,this 是指定的那个对象call() 和 apply()这两个方法都是函数对象的方法,需要通过函数对象来调用...原创 2019-07-17 00:56:01 · 344 阅读 · 0 评论 -
JavaScript 构造函数基础知识【总结】
一、构造函数与普通函数的区别例:创建一个构造函数,专门用来创建 Person 对象构造函数就是一个普通的函数,创建方式和普通函数没有区别,不同的是构造函数习惯上首字母大写构造函数与普通函数的区别就是调用方式的不同,普通函数就是直接调用,而构造函数需要使用 new 关键字来调用二、构造函数的执行流程立即创建一个新的对象将新建的对象设置为函数中 this,在构造函数中可以使用 th...原创 2019-07-16 23:35:32 · 381 阅读 · 0 评论 -
JavaScript getElementById()方法介绍
getElementById()根据元素的 id 属性获取一个元素节点对象getElementById()可以根据元素的 id 属性获取一个元素节点对象,该方法所有浏览器均可使用返回带有指定 ID 的元素,如下图:我们可以通过 innerHTML 属性(获取或者设置元素的内容(包含 HTML 标签 解析)),如下图:我们可以通过 innerText 属性(获取或者设置元素的内容 ...原创 2019-06-25 10:37:58 · 55923 阅读 · 0 评论 -
JavaScript getElementsByName()方法介绍
getElementsByName()根据 name 属性获取一组元素节点对象getElementsByName()可以根据 name 属性获取一组元素节点对象,该方法所有浏览器均可使用注意:这个方法会给我们返回一个类数组对象,所有查询到的元素都会封装到对象中,如下图:我们若要查找具体元素,就必须使用索引,如下图:我们可以通过 length 属性,获取其长度,如下图:我们可以...原创 2019-06-25 10:40:13 · 34278 阅读 · 3 评论 -
JavaScript DOM查询的剩余方法
一、获取 body 标签的方法1、使用 getElementsByTagName('body')[0] 方法进行获取2、在 document 中有一个属性 body,它保存的是 body 的引用二、获取 html 标签的方法document.documentElement 保存的是 html 根标签三、获取页面中所有元素的方法document.all 代表页面中所有的元素...原创 2019-06-26 09:28:06 · 295 阅读 · 0 评论 -
JavaScript 操作节点,超全面讲解!
Node 类型为所有节点定义了很多原型方法,以方便对节点进行操作,其中获得所有浏览器一致支持的方法,如下表所示:Node类型原型方法说明方法说明appendChild()向节点的子节点列表的结尾添加新的子节点–cloneNode()hasChildNodes()insertBefore()normalize()removeCh...原创 2019-07-06 12:09:00 · 330 阅读 · 0 评论 -
JavaScript 实现“贪食蛇”游戏【基本思路】
<!DOCTYPE html><html> <head> <meta charset="utf-8" /> <title></title> <script type="text/javascript"> //创建地图的div function Map(){ this.width = 80...原创 2019-07-16 11:12:29 · 442 阅读 · 0 评论 -
JavaScript 高级编程之面向对象篇
面向对象程序设计原创 2019-07-19 08:46:46 · 352 阅读 · 0 评论 -
JavaScript 高级编程之事件处理篇
事件原创 2019-07-19 08:40:37 · 214 阅读 · 0 评论 -
JavaScript 高级编程之函数运用篇
函数表达式原创 2019-07-19 08:43:09 · 306 阅读 · 0 评论 -
JavaScript 原型继承,你要的都在这里!
原型继承原型继承就是利用原型链来实现继承下来我们看一个继承案例的练习题,来进行理解,代码如下:<script type="text/javascript"> function Person(name,sex){ this.name = name; this.sex = sex; } Person.prototype.run = function...原创 2019-07-19 08:27:09 · 356 阅读 · 0 评论 -
JavaScript 递归介绍 (一)
1原创 2019-07-21 08:30:26 · 930 阅读 · 0 评论 -
JavaScript 递归理解 (二)
一、递归的简介使用递归可以更自然地解决一些问题。例如,像斐波那契数列:数列中的每个数字都是数列中前两个数字的和。凡是需要您构建或遍历树状数据结构的问题基本都可以通过递归来解决,锻炼自己强大的递归思维,你会发现解决这类问题十分容易。二、数字的递归每个递归函数都需要一个终止条件,从而使其不会无休止地循环下去。然而,仅仅加一个终止条件,是不足以避免其无限循环的。该函数必须一步一步地接近终止条件。...原创 2019-07-21 08:30:34 · 452 阅读 · 0 评论 -
JavaScript map()、forEach()的用法区别
JS中map()与forEach()的用法2018年05月21日 19:56:26 Yueliang_xiao 阅读数 2890相同点:1.都是循环遍历数组中的每一项2.每次执行匿名函数都支持三个参数,参数分别为item(当前每一项),index(索引值),arr(原数组)3.匿名函数中的this都是指向window4.只能遍历数组不同点:map()map方法返回一个新的数组,数...原创 2019-08-19 08:29:06 · 719 阅读 · 0 评论 -
JavaScript 移动端触发事件
一、移动端常用的触发事件touchstart 开始触摸事件touchmove 开始滑动事件touchend 触摸结束事件touchcancel 触摸意外中断事件二、添加事件的方式在移动端添加 touch 事件的时候,我们可以采用 DOM 为我们提供的方法,即 addEventListener。<script type="text/javascript"> // ...原创 2019-08-11 21:29:08 · 1827 阅读 · 0 评论 -
JavaScript 移动端的tap事件
一、移动端的 tap 事件移动端的单击事件,我们称为 tap 事件,也就是由手指单击所触发的事件。二、单击事件的特征单击事件的话,我们的 changedTouches.length = 1,即:TouchList {0: Touch, length: 1}如果 changedTouches.length > 1,那就说明不止一根手指,进行触摸了。三、获取触摸位置我们在获取触摸开...原创 2019-08-11 21:31:23 · 6475 阅读 · 0 评论 -
案例:移动端触摸事件实现元素移动
一、HTML 代码部分<div>我是div元素</div>二、CSS 代码部分<style type="text/css"> *{ padding: 0; margin: 0; } div{ width: 100px; height: 100px; background-color: plum; text...原创 2019-08-11 21:34:58 · 808 阅读 · 0 评论 -
深究JavaScript中typeof和instanceof的区别,建议收藏!
ECMAScript 是松散类型的,因此需要一种手段来检测给定变量的数据类型,typeof 操作符常用于基本数据类型检测,instanceof 操作符常用于引用类型数据检测。一、typeofECMAScript 是松散类型的,一次需要一种手段来检测给定变量的数据类型,typeof 操作符就是负责提供这方面信息的,typeof 可以用于检测基本数据类型和引用数据类型。概念:操作符目的:检...原创 2019-08-12 08:53:17 · 468 阅读 · 0 评论 -
JavaScript Object.prototype.toString用法
Object.prototype.toString.call(value)在 JavaScript 里使用 typeof判断数据类型,只能区分基本类型,即:number、string、undefined、boolean、object。对于null、array、function、object来说,使用 typeof 都会统一返回 object 字符串。要想区分对象、数组、函数、单纯使用 ...原创 2019-08-12 08:53:43 · 1960 阅读 · 0 评论 -
JavaScript forEach、for in、for of循环的用法
forEach是ES5中操作数组的一种方法,主要功能是遍历数组,其实说穿了,就是for循环的加强版,该语句需要一个回调函数,作为参数。回调函数的形参,依次为,value:遍历的数组内容;index:对应的数组索引,array:数组本身。<script type="text/javascript"> // 分别对应:数组元素,元素的索引,数组本身 var arr = ['...原创 2019-08-19 08:29:26 · 1792 阅读 · 0 评论 -
JavaScript forEach()的用法
forEach 是 ES5 中操作数组的一种方法,主要功能是遍历数组,其实说穿了,就是 for 循环的加强版,该语句需要一个回调函数,作为参数。回调函数的形参,依次为,value:遍历的数组内容;index:对应的数组索引,array:数组本身。<script type="text/javascript"> // 分别对应:数组元素,元素的索引,数组本身 var arr = [...原创 2019-08-19 08:28:10 · 57248 阅读 · 6 评论 -
JavaScript map()的用法
map()方法:对数组的每个元素调用定义的回调函数并返回包含结果的数组。map()语法:array1.map(callbackfn[, thisArg])map()参数:参数定义array1必选。 对象数组。callbackfn必选。 最多可以接受三个参数的函数。 map 方法调用 callbackfn 函数每个元素的数组中。thisArg可选。 可在 callbackfn 函...原创 2019-08-19 08:27:41 · 1056 阅读 · 0 评论