Javascript 严格模式(“use strict”)详解
除了正常运行模式,ECMAscript 5添加了第二种运行模式:"严格模式"(strict mode)。顾名思义,这种模式使得Javascript在更严格的条件下运行。
使用var定义变量和不使用var的本质区别
“不管是使用var关键字(在全局上下文)还是不使用var关键字(在任何地方),都可以声明一个变量”。这貌似一个错误的概念:任何时候,变量只能通过使用var关键字才能声明。
HTML5 Canvas 计量器绘制工具Canvas Gauges
Canvas Gauges是一个用来在html5 canvas是绘制各种计量器、计量仪图表的JavaScript工具库。 下面的这里例子,点击仪表图表可以参考源代码,鼠标移到上面可以看到各种一般的动画效果。在手机或平板上,用手指按住它们,动画就会发生。
getClientRects() 和 getBoundingClientRect() 的用法和区别
getBoundingClientRect()用于获得页面中某个元素的左,上,右和下分别相对浏览器视窗的位置。
你不需要Lodash/Underscore——用JavaScript原生函数替代
Lodash和Underscore是两款非常流利的JavaScript工具库,广泛的被程序员用于WEB前端开发。然而,如果你使用的是现代浏览器,你会发现,有很多的方法、函数实际是可以使用原生的JavaScript函数代替,这要感谢ECMAScript5 [ES5]和ECMAScript2015 [ES6]。
理解 javascript 里的 bind() 函数
bind() 方法会创建一个新函数,当这个新函数被调用时,它的 this 值是传递给 bind() 的第一个参数, 它的参数是 bind() 的其他参数和其原本的参数。
前端程序员必须知道的高性能Javascript知识
想必大家都知道,JavaScrip是全栈开发语言,浏览器,手机,服务器端都可以看到JS的身影。 本文会分享一些高效的JavaScript的最佳实践,提高大家对JS的底层和实现原理的理解。
WEB程序员必须知道的关于<script>标记的一些小知识
正如你可能知道的,<script> 标记是用来指定在网页上执行哪个 JavaScript 的。<script> 标记可以直接包含 JavaScript 代码,或者指向一个 JavaScript 外链 URL。
javascript里的sleep()方法
JavaScript Promise API是新出现了一个API,借助 Promise,我们可以对setTimeout函数进行改良,下面就是把setTimeout()封装成一个返回Promise的sleep()函数。
JavaScript里的循环方法:forEach,for-in,for-of
JavaScript6里引入了一种新的循环方法,它就是for-of循环,它既比传统的for循环简洁,同时弥补了forEach和for-in循环的短板。
Javascript缓存API
JavaScript ServiceWorker API的好处就是让WEB开发人员轻松的控制缓存。虽然使用ETags等技术也是一种控制缓存的技术,按使用JavaScript让程序来控制缓存功能更强大,更自由。当然,强大有强大的好处,也有弊处——你需要做善后处理,所谓的善后处理,就是要清理缓存。
Javascript Object.keys()用法
我经常使用JavaScript对象。非常喜欢。相对来说,数组虽然也很好用,但JavaScript Object提供了另一层次的数据结构和数据信息,这是简单的数组是无法比拟的。例如,我们可以非常方便的从一个JavaScript对象里寻找一个键值,比在数组里更迅速。
javascript 从定义到执行,你不知道的那些事
javascript从定义到执行,JS引擎在实现层做了很多初始化工作,因此在学习JS引擎工作机制之前,我们需要引入几个相关的概念:执行环境 栈、全局对象、执行环境、变量对象、活动对象、作用域和作用域链等,这些概念正是JS引擎工作的核心组件。这篇文章的目的不是孤立的为你讲解每一个概念, 而是通过一个简单的demo来展开分析,全局讲解JS引擎从定义到执行的每一个细节,以及这些概念在其中所扮演的角色。
使用 jQuery 复制文字到剪贴板的技巧
如果在网上找一个关于如何将一段特定的文本拷贝到剪贴板的解决方案,最可能的结果就是使用Flash的方案来做这个事,虽然使用Flash可以很好地解决这个问题,但是这不是一个明智的想法,因为这个产品最终会消失或者至少是浏览器不再提供支持,因此这个解决方案是没有未来的。
使用requestAnimationFrame()优化JavaScript动画性能
现在有了一个新的、性能更好的方法可以实现JavaScript动画任务。之前我们曾讲过requestAnimationFrame() 这个方法。那篇文章里是一个系统的介绍,今天将在这里举2个实际例子和用法。
Boids算法JavaScript实现
这是一个轻量级的Craig Reynolds的 Boids 算法实现。 一个非常典型的群聚的例子。 它不仅能非常简单的模仿一群鸟, 也可以模拟一群蜂,一群羊或一群人。。
用JavaScript检测离线/在线状态
新技术的出现有时会给我们WEB开发人员带领额外的苦恼,比如,如何判断用户现在是在线还是离线?幸好,有矛就有盾,JavaScript里的navigator对象帮我们解决这个问题。
用JavaScript获取函数参数名称
最近看到一个nodejs程序,promisify-node,它能够将一个普通的函数或对象转变成promised方式的API。经过查看源代码,发现它是通过读取函数的参数来寻找回调函数式的参数。这种方式看起来有点怪,但有时候很有用。
