标签:JavaScript

polyfill和shim之间有什么区别?

什么是polyfill和shim搜索了一下:在JavaScript的世界里,有两个词经常被提到,shim和polyfill.它们指的都是什么,又有什么区别?一个shim是一个库,它将一个新的API引入到一个旧的环境中,而且仅靠旧环境中已有的手段实现;一个polyfill就是一个用在浏览器API上的shim.我们通常的做法是先检查当前浏览器是否支持某个API,如果不支持的话就加载对应的polyfill.然后新旧浏览器就都可以使用这个API了。

如何理解function

想过function吗?Function作为Javascript的核心技术之一,清晰的理解function的机制和用法,对我们进行javascript开发非常重要。你有想过function是什么吗?ECMAScript 的函数实际上是功能完整的对象。其中function是javascript中定义函数的关键字,由function定义的函数是一个由代码集合而成的对象,属于引用类型。而Function则是javascript中的引用类型中的一种,类似Number和String和Object和Boolean。Function类可以表示开发者定义的任何函数。

函数调用的角度理解call

问题引入大家都听过自执行函数吧,很多插件代码也都是写成了自执行函数的形式,加载插件的时候,执行本省,完成初始化。那么,你清楚其中的函数调用的原理吗?知道其他的写法吗?this的变换呢?这里我们先给个问题,然后再解释。

前端工程师学习系列教程

前端工程师学习系列教程本教程只是自己平时总结的零零总总学习大前端的知识,需要说明的是本系列教程并不是连续的由浅入深的内容,只是博主自己平日积累的。而且可能部分内容摘自互联网,请勿见怪,有出处的,我尽量会附上原网址链接。前端工程师本来对于技术就是不断积累和深化的过程,所以想进阶高级工程师,或者资深工程师,请务必牢记,踏踏实实学习积累,没有捷径。

AMD与CMD规范-javascript模块化

模块化思想模块化是指在解决某一个复杂问题或者一系列的杂糅问题时,依照一种分类的思维把问题进行系统性的分解以之处理。模块化是一种处理复杂系统分解为代码结构更合理,可维护性更高的可管理的模块的方式。可以想象一个巨大的系统代码,被整合优化分割成逻辑性很强的模块时,对于软件是一种何等意义的存在。对于软件行业来说:解耦软件系统的复杂性,使得不管多么大的系统,也可以将管理,开发,维护变得“有理可循”。

异步回调之Promise对象

异步思想你可能知道,Javascript语言的执行环境是”单线程”(single thread)。所谓”单线程”,就是指一次只能完成一件任务。如果有多个任务,就必须排队,前面一个任务完成,再执行后面一个任务,以此类推。 这种模式的好处是实现起来比较简单,执行环境相对单纯;坏处是只要有一个任务耗时很长,后面的任务都必须排队等着,会拖延整个程序的执行。常见的浏览器无响应(假死),往往就是因为某一段Javascript代码长时间运行(比如死循环),导致整个页面卡在这个地方,其他任务无法执行。

正确使用“use strict”

前言看一些开源项目的时候,觉得别人的代码确实写得好,一些细节都做得很到位。这里介绍一下如何合理使用“use strict”,自己写一些js类库的时候,不放严格要就自己。从多角度考虑,避免细节出错。

JS闭包与原型链

前言突然想看一看javascript中的闭包与原型链的知识。这个记得不太清楚了,所以特地复习一下,看了网上许多博客,都讲解的不清楚。所以特地总结一下。

JS常用函数

前言这里主要介绍一些常用的javascript函数,这里并不会介绍jQuery,因为在手机WEB项目中可能不会使用jQuery,主要尽量使用javascript控制,减少开销,提供响应速度。渐渐的发现,写博客真的是需要耐心的,我会坚持的。此帖会一直更新所用到的js函数。