随笔分类 -  JavaScript

摘要:就如其他的编程语言一样,JavaScript也具有许多技巧来完成简单和困难的任务。 一些技巧已广为人知,而有一些技巧也会让你耳目一新。 让我们来看看今天可以开始使用的七个JavaScript技巧吧! 数组去重 使用ES6全新的数据结构即可简单实现。 Set的详细用法可以查看 "ES6入门" 数组和布 阅读全文
posted @ 2020-02-23 23:43 Aarongo 阅读(649) 评论(0) 推荐(1) 编辑
摘要:这周的 Cassidoo 的每周简讯有这么一个面试题:: 写一个函数,这个函数接收一个正确的 JSON 字符串并将其转化为一个对象(或字典,映射等,这取决于你选择的语言)。示例输入: 当时,我想这么写: 但是,我想起之前写了一些关于AST的文章, "用Babel实现自定义JavaScript语法" 阅读全文
posted @ 2020-02-23 17:28 Aarongo 阅读(1792) 评论(1) 推荐(0) 编辑
摘要:Link: "原文链接" 译文开始: 对网站进行性能优化对一个最容易的方法就是把JS和CSS进行打包压缩。但是当你需要调试这些压缩文件中的代码的时候,会发生什么?可能会是一场噩梦。但是,不用害怕,即将有一个解决方案到来,它就是Source Maps。 source maps提供一种将压缩文件中的代码 阅读全文
posted @ 2019-10-30 10:09 Aarongo 阅读(980) 评论(0) 推荐(1) 编辑
摘要:问题描述 在日常编码中会遇到将类数组对象转换为数组的问题,其中常用到的一种方式使用Array.prototype.slice()方法。 类数组对象 所谓的类数组对象,JavaScript对它们定义为:它们看起来很像数组,只是具有部分和数组相同特性: 拥有length属性 元素保存在对象中,可以通过索 阅读全文
posted @ 2018-08-29 23:36 Aarongo 阅读(1185) 评论(0) 推荐(0) 编辑
摘要:开始日期:2018/07/23 前言 近段时间一直在阅读《数据结构与算法JavaScript描述》这本书,重新学习下算法。算法是作为一个程序员的基本素养,还是掌握一些基本的算法的,譬如排序算法。排序算法又分为基本排序算法和高级排序算法,以排序的效率来划分。以下的冒泡排序就是基本排序算法,最慢的排序算 阅读全文
posted @ 2018-08-28 15:39 Aarongo 阅读(531) 评论(0) 推荐(0) 编辑
摘要:方法描述 bind()方法创建一个新函数,当被调用时,将其this关键字设置为提供的值。 语法说明 fn.bind(thisArg,arg1,arg2,..) 参数说明 thisArg:当绑定函数被调用时,该参数会作为原函数运行时的this指向。当使用new操作符调用绑定函数时,该参数无效。 arg 阅读全文
posted @ 2018-07-23 20:59 Aarongo 阅读(2994) 评论(0) 推荐(3) 编辑
摘要:场景描述 在使用JS控制动画时一般需要在动画结束后执行回调去进行DOM的相关操作,所以需要监听动画结束进行回调。JS提供了以下事件用于监听动画的结束,简单总结学习下。 CSS3动画监听事件 transitionEnd事件 transitionEnd事件会在CSS transition动画结束后触发。 阅读全文
posted @ 2018-01-21 17:48 Aarongo 阅读(23438) 评论(0) 推荐(2) 编辑
摘要:问题描述 RequireJS跨域加载HTML模版失败,例如: 在a.com域名下请求CDN域名下的模版,text.js插件会把html文件转成html.js文件去加载,由于并没有生成html.js文件,所以会404 问题原因 打包后部分HTML模版无法内联,原因是同一模块引入的路径不一致 通过XHR 阅读全文
posted @ 2017-12-07 15:44 Aarongo 阅读(1351) 评论(0) 推荐(0) 编辑
摘要:问题描述 在JS计算四则运算时会遇到精度丢失的问题,会引起诸多问题,看看以下例子: 例如:在chrome控制台输入 0.1 + 0.7 输出结果是 0.7999999999999999 例如:0.1+0.2 输出结果:0.30000000000000004 例如:0.1277 10000000000 阅读全文
posted @ 2017-12-03 22:51 Aarongo 阅读(2189) 评论(0) 推荐(0) 编辑
摘要:概述 最近需求上需要实现图片上传的功能,简单记录下实现过程。目前实现的功能比较简单,主要有以下几点: 图片预览 图片删除 拖拽上传 压缩上传 移动端实现方案:使用File API 主要使用到 FileList、File、FileReader、canvas、拖放API FileList对象 一个Fil 阅读全文
posted @ 2017-07-30 23:13 Aarongo 阅读(1397) 评论(0) 推荐(0) 编辑
摘要:最近在做PC端网站的页面的一个表单校验,需要把全角输入转化成半角符号。之前没有了解过这些编码的知识,还是得Google一下查查资料,故简单总结一下。 什么是全角、半角 传统上,英语或拉丁字母语言使用的电脑系统,每一个字母或符号,都是使用一字节的空间(一字节由8比特组成,共256个编码空间)来储存;而 阅读全文
posted @ 2017-07-03 23:35 Aarongo 阅读(6268) 评论(2) 推荐(1) 编辑
摘要:问题描述 最近在webapp的开发中遇到一个Date对象中getDate获取日期的兼容性问题,Date对象的getDate方法返回的日期和传入的日期不一致,例如: 在android 4.3以下版本,getDate返回的日期会有一天的偏差 问题排查 经过一番折腾Google搜索查找资料,初步认为是以下 阅读全文
posted @ 2016-09-25 17:05 Aarongo 阅读(2046) 评论(0) 推荐(0) 编辑
摘要:在这篇文章里,提供了一些向web开发者和程序员的web游戏,通过这些游戏你可以学习到更多的javascript、CSS、HTML知识,同时也可以提升自己的web技术。有些游戏会比较简单,有些会比较困难,但是都会很有趣。 "Code Combat" 虽然Code Combat里面的游戏主要是面向学生的 阅读全文
posted @ 2016-09-05 00:17 Aarongo 阅读(618) 评论(0) 推荐(0) 编辑
摘要:最近做webapp项目过程中,发现坑还是挺多的,以下是网络收集一些开发中的常见问题及知识汇总,以便查阅,慢慢更新:)。 meta 基础知识 H5页面窗口自动调整到设备宽度,并禁止用户缩放页面 忽略将页面中的数字识别为电话号码 忽略Android平台中对邮箱地址的识别 viewport模板 阅读全文
posted @ 2016-08-28 17:53 Aarongo 阅读(1065) 评论(0) 推荐(0) 编辑
摘要:问题描述 最近在做移动项目时遇到一个页面滚动穿透问题,具体场景是这样的,在一个可滚动的列表页中打开弹窗,底部的页面理论上是不可滚动的,但是当滑动弹窗时,底部页面会跟随滚动,这就是所谓的页面滚动穿透的问题。这个是比较常见的问题,基本都会遇到,Google一下出解决方案也是挺多的。以下根据不同的适用场景 阅读全文
posted @ 2016-08-25 22:31 Aarongo 阅读(15316) 评论(1) 推荐(1) 编辑
摘要:最近在学习前端动画方面知识时发现了挺有趣的一个动画的图形库mo.js,页面效果真是酷炫,有兴趣的同学可以研究下:)。 酷炫的效果: 以下是官方的demo效果,更多详情请查看 "mo.js" "http://codepen.io/sol0mka/full/ogOYJj/" "http://codepe 阅读全文
posted @ 2016-04-30 02:09 Aarongo 阅读(9898) 评论(2) 推荐(1) 编辑
摘要:在JavaScript代码中使用正则表达式进行模式匹配经常会用到String对象和RegExp对象的一些方法,例如replace、match、search等方法,以下是对一些方法使用的总结。 String对象中支持正则表达式有4种方法,分别是:search、replace、match、split s 阅读全文
posted @ 2016-03-22 00:48 Aarongo 阅读(5576) 评论(10) 推荐(3) 编辑
摘要:在截取字符串时常常会用到substr()、substring()、slice()方法,有时混淆之间的用法,故总结下。slice()定义:接受一个或者两个参数,第一个参数指定子字符串的开始位置。第二个参数表示子字符串的结束位置(不包括结束位置的那个字符),如果没有传递第二个参数,则将字符串的长度作为结... 阅读全文
posted @ 2015-12-16 00:17 Aarongo 阅读(4457) 评论(2) 推荐(3) 编辑
摘要:javascript内置的类型检测机制并非完全可靠。比如typeof操作符,并不能准确的判断数据是哪个类型,比如:数组和对象就不能通过typeof来区分。typeof [] ==="object" ; // truetypeof {} === "object"; // true但是typeof用来区... 阅读全文
posted @ 2015-11-22 17:03 Aarongo 阅读(1389) 评论(4) 推荐(2) 编辑
摘要:在JavaScript中通常使用”."运算符来存取对象的属性的值。或者使用[]作为一个关联数组来存取对象的属性。但是这两种方式有什么区别了?例如,读取object中的property属性值: object.property object['property']以上两种方式都可以实现属性的存... 阅读全文
posted @ 2015-11-15 23:43 Aarongo 阅读(3348) 评论(3) 推荐(5) 编辑