JavaScript
JavaScript(简称“JS”) 是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。虽然它是作为开发Web页面的脚本语言而出名的,但是它也被用到了很多非浏览器环境中,JavaScript 基于原型编程、多范式的动态脚本语言,并且支持面向对象、命令式和声明式(如函数式编程)风格。
祁娥安
我是一名90后程序员,终身学习者。 背景很普通,来自农村,毕业于一所普通大学。 没有光环,所以从大学起一路自学,大四开始做开发工作。 平时喜欢研究各种技术,目前在一家小厂从事前/后端开发工作。 爱好一切有趣的事物,热爱生活、热爱工作、热爱coding、热爱交朋友。在业内混迹多年, 酷爱各种技术,不论前端后端还是移动端,总之各种端。 平时喜欢看技术书籍、逛技术博客论坛、爱玩吉他唱歌和打篮球, coding,根本停不下来。 The Code Can Change The World.
展开
-
处理 JS中 undefined 的7个技巧
今天跟大家分享下处理JS中undefined的7个技巧的知识。前言大约8年前,开始学习JS时,遇到了一个奇怪的情况,既存在undefined 的值,也存在表示空值的null。它们之间的明显区别是什么?它们似乎都定义了空值,而且,比较null == undefined的计算结果为true。大多数现代语言,如Ruby、Python或Java都有一个空值(nil或null),这似乎是一种合理的方式...原创 2020-03-16 13:12:22 · 9493 阅读 · 0 评论 -
JS 系列之 事件—表单事件
今天跟大家分享一下JS系列之表单事件。1 表单事件的种类1.1 input 事件input事件当、、的值发生变化时触发。对于复选框()或单选框(),用户改变选项时,也会触发这个事件。另外,对于打开contenteditable属性的元素,只要值发生变化,也会触发input事件。input事件的一个特点,就是会连续触发,比如用户每按下一次按键,就会触发一次input事件。input事件对象...原创 2020-03-15 18:46:33 · 2745 阅读 · 0 评论 -
JS之 箭头函数
今天跟大家分享下JS之 箭头函数的知识。1 箭头函数1.不绑定this在箭头函数出现之前,每个新定义的函数都有其自己的 this 值var myObject = {value:1,getValue:function(){console.log(this.value)},double:function(){return function(){console.log(this.v...原创 2020-03-15 18:39:05 · 388 阅读 · 0 评论 -
JS之 实现粘贴板功能
今天跟大家分享下JS之 复制内容到剪贴板的知识。1 实现粘贴板功能使用剪贴板是一项基本技能。作为码农都应知道,Tab,Ctrl/Cmd + A,Ctrl / Cmd + C以及Ctrl / Cmd + V分别是自动聚焦、复制、粘贴的快捷键。而对普通用户可能就不太容易了。即使用户知道剪贴板是什么,(除了)那些眼神极好或反应很快的人,其他情况下很难以突出显示他们想要的确切文字。若用户不知道键盘快...原创 2020-03-15 18:32:26 · 677 阅读 · 0 评论 -
JS之 HTML生成PDF并下载
今天跟大家分享下JS之HTML生成PDF并下载 的知识。1 html2canvas简介我们可以直接在浏览器端使用html2canvas,对整个或局部页面进行“截图”。但这并不是真的截图,而是通过遍历页面DOM结构,收集所有元素信息及相应样式,渲染出canvas image。由于html2canvas只能将它能处理的生成canvas image,因此渲染出来的结果并不是100%与原来一致。但...原创 2020-03-15 18:25:31 · 881 阅读 · 1 评论 -
JS之常用算法实例
今天跟大家分享下JS之常用算法实例的知识。1 JS之常用算法实例累加和累积累加:将一系列的数据加到一个变量里面。最后的得到累加的结果比如:将1到100的数求累加和小球从高处落下,每次返回到原来一半,求第十次小球落地时小球走过的路程。<script> var h=100; var s=0; for(var i=0;i<10;i++){ h=h/2;...原创 2020-03-15 18:15:42 · 282 阅读 · 0 评论 -
JS之 图表库
今天跟大家分享下JS之 图表库的知识。1 图表库随着数据收集和使用的持续呈指数增长,可视化此数据的需求变得越来越重要。开发人员寻求将数百万个数据库记录整合为美观的图表和仪表板,以便人类可以快速直观地进行解释。数据可视化技术在过去十年中一直在不断改进,现在许多高级图表库可供消费者使用。在2000年代初期,图表生成主要由服务器端图像位图构成。诸如Flash和Silverlight之类的插件提供了...原创 2020-03-14 16:14:00 · 1753 阅读 · 0 评论 -
JS 之内存泄漏
今天跟大家分享下JS 之内存泄漏的知识。1 JS 之内存泄漏简介当处理 JavaScript 这样的脚本语言时,很容易忘记每个对象、类、字符串、数字和方法都需要分配和保留内存。语言和运行时的垃圾回收器隐藏了内存分配和释放的具体细节。许多功能无需考虑内存管理即可实现,但却忽略了它可能在程序中带来重大的问题。不当清理的对象可能会存在比预期要长得多的时间。这些对象继续响应事件和消耗资源。它们可...原创 2020-03-14 14:22:31 · 393 阅读 · 0 评论 -
JS之 复制内容到剪贴板
今天跟大家分享下JS之 复制内容到剪贴板的知识。1 复制内容到剪贴板最近一个活动页面中有一个小需求,用户点击或者长按就可以复制内容到剪贴板,记录一下实现过程和遇到的坑。常见方法查了一下万能的Google,现在常见的方法主要是以下两种:第三方库:clipboard.js原生方法:document.execCommand()分别来看看这两种方法是如何使用的clipboard.js这是...原创 2020-03-14 13:52:54 · 211 阅读 · 0 评论 -
JS之 事件冒泡机制
今天跟大家分享下JS 之 事件冒泡机制的知识。1 事件冒泡机制DOM事件流(event flow )存在三个阶段:事件捕获阶段、处于目标阶段、事件冒泡阶段,事件冒泡顺序是由内到外进行事件传播,事件冒泡是由IE开发团队提出来的,即事件开始时由最具体的元素(文档中嵌套层次最深的那个节点)接收,然后逐级向上传播。听了简介介绍之后,您可能不理解,所以举个例子:<html><he...原创 2020-01-17 18:01:04 · 410 阅读 · 0 评论 -
JS之 触摸事件
今天跟大家分享下JS 之 触摸事件的知识。1 触摸操作概述浏览器的触摸 API 由三个部分组成。/- Touch:一个触摸点TouchList:多个触摸点的集合TouchEvent:触摸引发的事件实例Touch接口的实例对象用来表示触摸点(一根手指或者一根触摸笔),包括位置、大小、形状、压力、目标元素等属性。有时,触摸动作由多个触摸点(多根手指)组成,多个触摸点的集合由TouchL...原创 2020-01-17 17:57:51 · 839 阅读 · 0 评论 -
JS 之 引擎运行原理
今天跟大家分享下JS 之 引擎运行原理的知识。1 一些名词JS引擎 — 一个读取代码并运行的引擎,没有单一的“JS引擎”;,每个浏览器都有自己的引擎,如谷歌有V。作用域 — 可以从中访问变量的“区域”。词法作用域— 在词法阶段的作用域,换句话说,词法作用域是由你在写代码时将变量和块作用域写在哪里来决定的,因此当词法分析器处理代码时会保持作用域不变。块作用域 — 由花括号{}创建的范围作...原创 2020-01-13 22:09:06 · 555 阅读 · 0 评论 -
JS 之 继承关系
JS 之 继承关系今天跟大家分享下JS 之 继承关系的知识。前言在Javascript中如何实现继承关系的应用?Javascript继承概念:js是基于对象的,没有类的概念,所以实现继承,需要使用js的原型prototype机制或者用applay和call方法实现。1 原型链继承即子类通过prototype将所有在父类中通过prototype追加的属性和方法都追加到Child,从而实现了...原创 2020-01-13 21:51:32 · 289 阅读 · 0 评论 -
JS之 Ajax 组件和库
今天跟大家分享下JS之 Ajax 组件和库的知识。前言文章中,我们将介绍一些用于AJAX调用的最好的JS库,包括jQuery,Axios和Fetch。AJAX是用来对服务器进行异步HTTP调用的一系列web开发技术客户端框架。 AJAX即Asynchronous JavaScript and XML(异步JavaScript和XML)。AJAX曾是web开发界的一个常见名称,许多流行的Java...原创 2020-01-12 17:58:19 · 224 阅读 · 0 评论 -
JS 之 Event 对象
今天跟大家分享下JS 之 Event 对象的知识。1 概述事件发生以后,会产生一个事件对象,作为参数传给监听函数。浏览器原生提供一个Event对象,所有的事件都是这个对象的实例,或者说继承了Event.prototype对象。Event对象本身就是一个构造函数,可以用来生成新的实例。event = new Event(type, options);Event构造函数接受两个参数。第一个...原创 2020-01-12 16:53:31 · 2327 阅读 · 0 评论 -
JS之 调试
今天跟大家分享下JS之 调试的知识。前言Web开发最常用的高度就是 console.log ,虽然 console.log 占有一席之地,但很多人并没有意识到 console 本身除了基本 log 方法之外还有很多其他方法。适当使用这些方法可以使调试更容易,更快速,更直观。1 console.log()在console.log 中有很多人们意想不到的功能。虽然大多数人使用 console....原创 2020-01-09 18:06:24 · 175 阅读 · 0 评论 -
JS 之 重定向
今天跟大家分享下JS 之重定向 的知识。前言在JavaScript中有好几种方法可以重定向到另一个网页,这个在项目开发中经常会用到,所以不熟悉的童鞋可以学下啦,首先我们介绍有哪些方法?如何使用JavaScript重定向到其他网页?使用JavaScript重定向到其他网页的一些方法:location.hreflocation.replace()location.assign()语法:...原创 2020-01-05 16:35:53 · 18072 阅读 · 0 评论 -
JS 之 图片编辑器插件
今天跟大家分享下JS 之 图片编辑器插件的知识。1 图片编辑器插件FilerobotFilerobot是一款js图片编辑器插件。Filerobot可以对图片进行修改尺寸,剪裁,旋转,以及使用内置的滤镜对图片进行过滤。Filerobot-js图片编辑器插件的github网址为:在页面中引入下面的文件:<script src="js/filerobot-image-editor....原创 2020-01-05 16:29:59 · 5401 阅读 · 0 评论 -
JS 之 动态操作 css
今天跟大家分享下JS 之 动态操作css的知识。前言JavaScript 可以说是交互之王,它作为脚本语言加上许多 Web Api 进一步扩展了它的特性集,更加丰富界面交互的可操作性。这类 API 的例子包括WebGL API、Canvas API、DOM API,还有一组不太为人所知的 CSS API。由于JSX和无数JS框架的出现,使通过JS API与DOM交互的想法真正流行起来,但是在...原创 2020-01-01 20:47:28 · 173 阅读 · 0 评论 -
JS 之 闭包
今天跟大家分享下JS 之 闭包的知识。前言正如标题所述,JavaScript闭包对我来说一直有点神秘,看过很多闭包的文章,在工作使用过闭包,有时甚至在项目中使用闭包,但我确实是这是在使用闭包的知识。最近看到的一些文章,终于,有人用于一种让我明白方式对闭包进行了解释,我将在本文中尝试使用这种方法来解释闭包。准备在理解闭包之前,有个重要的概念需要先了解一下,就是 js 执行上下文。这篇文章...原创 2019-12-31 17:14:00 · 93 阅读 · 0 评论 -
JS 之 this指向
今天跟大家分享下JS 之 this指向的知识。前言在JS中更改函数执行上下文的指向,也称为 this 指向。例如,咱们可以在类数组对象上使用数组方法:const reduce = Array.prototype.reduce;function sumArgs() { return reduce.call(arguments, (sum, value) => { retu...原创 2019-12-31 16:45:49 · 99 阅读 · 0 评论