201510-23 JavaScript编码规范 1前言2代码风格2.1文件2.2结构2.2.1缩进2.2.2空格2.2.3换行2.2.4语句2.3命名2.4注释2.4.1单行注释2.4.2多行注释2.4.3文档化注释2.4.4类型定义2.4.5文件注释2.4.6命名空间注释2.4.7类注释2.4.8函数/方法注释2.4.9事件注释2.4.10常量注释2.4.1... 继续阅读 >
201510-22 编写高质量JavaScript代码 才华横溢的StoyanStefanov,在他写的由O’Reilly初版的新书《JavaScriptPatterns》(JavaScript模式)中,我想要是为我们的读者贡献其摘要,那会是件很美妙的事情。具体一点就是编写高质量JavaScript的一些要素,例如避免全局变量,使用单变量声明,在循环中预缓存length(长度),遵循代码阅读,以及更多。此摘要也包括一些与代码不太相关的习惯,但对整体代码的创建息息相关,包括撰写API文档、执行同行评审以及运行JSLint。这些... 继续阅读 >
201509-30 深入学习JavaScript对象 JavaScript中,除了五种原始类型(即数字,字符串,布尔值,null,undefined)之外的都是对象了,所以,不把对象学明白怎么继续往下学习呢?一.概述对象是一种复合值,它将很多值(原始值或其他对象)聚合在一起,可通过属性名访问这些值。而属性名可以是包含空字符串在内的任意字符串。JavaScript对象也可以称作一种数据结构,正如我们经常听说的“散列(hash)”、“散列表(hashtable)”、&ld... 继续阅读 >
201509-26 深入浅出 妙用Javascript中apply、call、bind 网上文章虽多,大多复制粘贴,且晦涩难懂,我希望能够通过这篇文章,能够清晰的提升对apply、call、bind的认识,并且列出一些它们的妙用加深记忆。apply、call 在javascript中,call和apply都是为了改变某个函数运行时的上下文(context)而存在的,换句话说,就是为了改变函数体内部this的指向。JavaScript的一大特点是,函数存在「定义时上下文」和「运行时上下文」以及「上下文是可以改变的」... 继续阅读 >
201509-14 检测一个函数是否是JavaScript原生函数 在我的开发工作中经常会遇到需要判断一个函数是否是JavaScript原生函数的情况,有时候这是一个很必要的工作,你需要知道这个函数是浏览器自身提供的,还是由第三方封装、伪装成原生函数。当然,最好的方法是考察执行这个函数的toString方法的返回值。TheJavaScript完成这个任务的方法非常简单:functionisNative(fn){return(/\{\s*\[nativecode\]\s*\}/).test(''+fn);}toString方法会返回这个方法的字符串形式,然后用... 继续阅读 >
201507-14 怎样编写可维护的面向对象 JavaScript 代码 能够写出可维护的面向对象JavaScript代码不仅可以节约金钱,还能让你很受欢迎。不信?有可能你自己或者其他什么人有一天会回来重用你的代码。如果能尽量让这个经历不那么痛苦,就可以节省不少时间。地球人都知道,时间就是金钱。同样的,你也会因为帮某人省去了头疼的过程而获得他的偏爱。但是,在开始探索如何编写可维护的面向对象JavaScript代码之前,我们先来快速看看什么是面向对象。如果已经了解面向对象的概念了,就可以直... 继续阅读 >
201507-01 为什么 JavaScript 会在移动端中胜出? JavaScript并不是世界上最优美的编程语言。正因如此,一个世界级的专家写了一本关于这个语言的“精粹 ”的书。这本书的名字是“深度挖掘javascript的亮点”,因为优秀的东西被埋的相当深。即便如此,它还是迅速地称为世界上最受欢迎的语言之一。这种受欢迎是应得的,因为尽管这种语言存有缺陷,但是javascript提供给开发者其它语言不能给予的重要的优势。有一些优势是在浏览器的开发商同意了Javascr... 继续阅读 >
201506-13 十大免费教程资源帮助新手快速学习JavaScript “JavaScript”的名头相信大家肯定是耳熟能详,但只有一小部分人群了解它的使用与应用程序构建方式。这“一小部分”人指的当然是技术过硬的有为青年、网络程序员以及IT专业人员。但对于一位新手或者说外行人而言,“JavaScript”只不过是复杂计算机编程学科当中的另一个不知所云的术语。那么,JavaScript到底是什么?如果各位拥有在计算机领域的工作经验,那么绝对不能错过强大的JavaScript... 继续阅读 >
201506-02 javascript客户端检测技术 1.Firefox Gecko是firefox的呈现引擎。当初的Gecko是作为通用Mozilla浏览器一部分开发的,而第一个采用Gecko引擎的浏览器是Netscape6;我们可以使用用户代理检测下:如下JS代码:varua=navigator.userAgent;console.log(ua);在windows下firefox下打印如下:Mozilla/5.0(WindowsNT6.1;WOW64;rv:38.0)Gecko/20100101Firefox/38.0上述是为Netscape6编写的代理字符串一些构成:如下:... 继续阅读 >
201505-27 十个JavaScript中易犯的小错误,你中了几枪? 序言在今天,JavaScript已经成为了网页编辑的核心。尤其是过去的几年,互联网见证了在SPA开发、图形处理、交互等方面大量JS库的出现。如果初次打交道,很多人会觉得js很简单。确实,对于很多有经验的工程师,或者甚至是初学者而言,实现基本的js功能几乎毫无障碍。但是JS的真实功能却比很多人想象的要更加多样、复杂。JavaScript的许多细节规定会让你的网页出现很多意想不到的bug,搞懂这些bug,对于成为一位有经验... 继续阅读 >
201504-12 JavaScript中常见的字符串操作函数及用法 1、字符串转换字符串转换是最基础的要求和工作,你可以将任何类型的数据都转换为字符串,你可以用下面三种方法的任何一种:var num= 19; // 19 var myStr = num.toString; // "19"你同样可以这么做:var num= 19; // 19 var myStr = String(num); // "19"或者,再简单点儿:2、字符串分割字符串分割,即将一个字符串分割为... 继续阅读 >
201504-04 10个优秀的JavaScript开发框架 JavaScript基本上是一个面向对象的脚本语言,创建web应用程序和互动网站。Javascript框架也被称为Javascript库。JJavascript框架被认为是作为一个软件开发的应用程序必不可少的脚本语言,可以让web开发人员快速创建web设计和开发动态网站。使用这些javascript框架,你可以减少工作的时间,可以减少费用,为客户通过使用框架,友好体验,JavaScript框架2015最先进的web设计和开发世界的未来。我们收集了10个最好的JavaScript框架开发者... 继续阅读 >
201503-23 最详细的JavaScript和事件解读 与浏览器进行交互的时候浏览器就会触发各种事件。比如当我们打开某一个网页的时候,浏览器加载完成了这个网页,就会触发一个 load 事件;当我们点击页面中的某一个“地方”,浏览器就会在那个“地方”触发一个 click 事件。这样,我们就可以编写JavaScript,通过监听某一个事件,来实现某些功能扩展。例如监听 load 事件,显示欢迎信息,那么当浏览器加载完一个网页之后,就... 继续阅读 >
201503-06 关于大型网站技术演进的思考(九):网站静态化处理总述 在存储瓶颈的开篇我提到像hao123这样的导航网站只要它部署的web服务器数量足够,它可以承载超大规模的并发访问量,如果是一个动态的网站,特别是使用到了数据库的网站是很难做到通过增加web服务器数量的方式来有效的增加网站并发访问能力的。但是现实情况是像淘宝、京东这样的大型动态网站在承担高并发的情况下任然能保证快速的响应,这其中有什么样的技术手段可以达到动态网站支撑高并发的场景了,这也许是每个做web开发的朋友都... 继续阅读 >
201502-13 PHP开发者应了解的24个超酷的PHP库(微框架) 作为一个PHP开发者,现在是一个令人激动的时刻。每天有许许多多有用的库分发出来,在Github上很容易发现和使用这些库。下面是我曾经遇到过最酷的24个库。你最喜欢的库没有在这个列表里面?那就在评论中分享吧!1.Dispatch–微框架Dispatch是一个PHP小框架。它并没有给你完整的MVC设置,但你可以定义URL规则和方法,以便更好组织应用程序。这对API、简单的站点或原型来说是完美的。//包含库include'dispatch.php';//定义你... 继续阅读 >
201502-12 开发一个完整的JavaScript组件 作为一名开发者,大家应该都知道在浏览器中存在一些内置的控件:Alert,Confirm等,但是这些控件通常根据浏览器产商的不同而形态各异,视觉效果往往达不到UI设计师的要求。更重要的是,这类内置控件的风格很难与形形色色的各种风格迥异的互联网产品的设计风格统一。因此,优秀的前端开发者们各自开发自己的个性化控件来替代浏览器内置的这些控件。当然,这类组件在网络上已经有不计其数相当优秀的,写这篇文章的目的不是为了... 继续阅读 >