随笔分类 - JS
摘要:本码农的惯例,开篇废话几句...前天小生又被虐了...没办法,作为一个资深code user,我用代码的能力,解决问题的能力自问是不弱的...但是自身的前端基础说实话还是不过硬,最明显的表现就是,对于JS核心的研究做得比较少。另外就是概念方面很脆弱(PS:我的习惯是用通俗的比喻来理解技术,那些乏味的...
阅读全文
摘要:在 jQuery 1.4 之前(包括1.4),$.ajax() 方法返回的是浏览器原生的 XMLHttpRequest 对象。从 jQuery 1.5 开始,$.ajax() 方法返回 jQuery 自己的 XMLHttpRequest 对象(一般简称jqXHR)。之所以这样做,是因为 jQuery...
阅读全文
摘要:Jquery关于ajax有一系列的方法函数,单单知道$.ajax()显然是不够的,接下来我们对该系列的方法函数逐一研究下。ajaxComplete(callback)、ajaxError(callback)、ajaxSend(callback)、ajaxStart(callback)、ajaxSto...
阅读全文
摘要:JQ这个库,可以说几乎只要是个前端都会用。但会用不代表你对它很熟。你有熟记它的API么?你用充分研究过它的每一个方法么?如果你像小生一样,是个典型的code user。那你很可能会在面试的时候被虐。因为很多面试官都会拿一些比较细的Point来考你,估计他们认为,一个优秀的前端,应该对一个框架滚瓜烂熟...
阅读全文
摘要:js代码,前端都会写。但细节决定成败,代码是否优雅、规范,可以看得出一个JScoder的水平来。曾经多次被项目组长吐槽,并被授予一本秘笈,上面有关于JS编程规范的一些总结。无奈秘笈不能长借,无奈只能用最愚蠢的办法,拍照mark下,然后今天抽空整理整理。废话到此为止,下面言归正传。1.语句结尾总是加上分号JS的语句,要么独占一行,要么以分号结尾。虽然绝大多数情况下独占一行的js代码缺省分号也不会产生错误(这全赖于分析器的自动分号插入机制),但依旧不推荐缺省分号。因为自动分号插入机制的分号插入规则很复杂且难以记住,习惯性以分号结束语句,能减少意外bug的发生率。2.关于命名命名,是任何一个code
阅读全文
摘要:原文连接:http://www.ruanyifeng.com/blog/2011/08/a_detailed_explanation_of_jquery_deferred_object.html一、什么是deferred对象?开发网站的过程中,我们经常遇到某些耗时很长的javascript操作。其中...
阅读全文
摘要:原文链接:http://hi.baidu.com/pryzjvvpkkbhjyq/item/440fb91cda5cb90b8ebde43ftypeof用以获取一个变量的类型语法:typeof a 或 typeof(a)一般只能返回如下几个结果:number、boolean、string、funct...
阅读全文
摘要:总的来说,JS的继承大体上分为两种:借用构造函数方式和原型方式首先,我们来看看借用构造函数方式的几种做法://方式一function Person(name, sex){ this.name = name; this.sex = sex; this.move = function(...
阅读全文
摘要:注意:本文中所有方法的 RegExp类型的参数,其实都支持传入 String 类型的参数,JS会直接进行字符串匹配。(相当于用一个简单的非全局正则表达式进行匹配,但字符串并没有转换成 RegExp 对象)search(RegExp)检索 stringObject中第一个与 RegExp相匹配的子串的起始位置。与 indexOf 方法类似,但 indexOf 方法不支持正则匹配,且可以指定检索的起始位置。需要注意的是,此方法不执行全局匹配,它会忽略 RegExp的 g 标志。并且总是从字符串的开始进行检索,这意味着它总是返回 stringObject 的第一个匹配的位置。var str=&quo
阅读全文
摘要:RegExp 对象RegExp 对象表示正则表达式,它是对字符串执行模式匹配的强大工具。正则表达式的创建方式1.文字格式,使用方法如下:/pattern/flags (即:/模式/标记)2.RegExp构造函数,使用方法如下:new RegExp("pattern"[,"flags"]) (即:ne...
阅读全文
摘要:数组是JavaScript提供的一个内部对象,它是一个标准的集合,我们可以添加(push)、删除(shift)里面元素,我们还可以通过for循环遍历里面的元素。那么除了数组我们在JavaScript里还可以有别的集合吗?由于JavaScript的语言特性,我们可以向通用对象动态添加和删除属性。所以Object也可以看成是JS的一种特殊的集合。下面比较一下Array和Object的特性:Array:新建:var ary = new Array(); 或 var ary = [];增加:ary.push(value);删除:delete ary[n];遍历:for ( var i=0 ; i f.
阅读全文
摘要:shift():删除原数组第一项,并返回删除元素的值;如果数组为空则返回undefinedvar a = [1,2,3,4,5];var b = a.shift();//结果 a:[2,3,4,5] b:1unshift():将参数添加到原数组开头,并返回数组的长度var a = [1,2,3...
阅读全文
摘要:今天在敲代码的时候,发现很多JQ插件在写闭包的时候都会用到下面的写法:(function ($) { ... })(jQuery);一时的好奇心驱使,我研究起了这一写法来。大家都知道,在 $ 没有被其他定义覆盖的情况下,$ 和jQuery 是等价的,前者只是后者的缩写而已。那为什么闭包的写法里fuction的形参是 $ 后面括号里却是jQuery 呢?改写成 $ 会怎样?后面括号里的jQuery 实际上又是啥?带着这两个疑问,在网上搜了一番,透过各种资料文档,总算是对闭包这东东有了一定的了解。看了http://www.cnblogs.com/jianghua/archive/2012/05..
阅读全文
摘要:1.选择器性能排行:$("#ID") > $("Tag") > $(".Class") > $("[attribute=value]")2.链式调用:$("#gbdiv").hide();$("#gbdiv").css("color", "#202020");$("#gbdiv").show();上述代码使用下面的写法,可提高执行效率$("#gbdiv").hide();.css
阅读全文