06 2013 档案

JS OO库的选择
摘要:一、原型继承 JavaScript使用了一种独特的对象创建和继承的方式,称为原型继承(prototypal inheritance)。这一方法背后的前提(相对大多数程序员所熟悉的传统的类/对象方案而言)是,一个对象的构造器能够从另一个对象中继承方法,建立起一个原型对象,所有的新的对象都将从这个原型创建。 这整个过程由prototype属性(存在于每一个函数中,因为任何函数都可以是一个构造器)促成。 使得这种形式的继承特别难以掌握的是,原型并不从其它的原型或者其它的构造器继承属性,而是从实际的对象中继承。代码://创建Person对象的构造器function Person( name ) ... 阅读全文

posted @ 2013-06-26 20:25 摩帆士 阅读(350) 评论(0) 推荐(0) 编辑

Dean Edwards -- Base.js(译)
摘要:我是一个由衷的面向对象的程序员,并且JavaScript支持基于继承的原型(prototype)。不幸的是这会导致冗长的类定义:functionAnimal(name){};Animal.prototype.eat=function(){};Animal.prototype.say=function(message){我希望能有一个良好的关于JavaScript OO的基础类:我希望能简单的创建类而没有MyClass.prototype 的冗余代码。我希望有能够直接访问被重载函数的函数重载 (就像 Java的super)我希望在原型构造阶段能够避免调用类的构造方法。我希望能简单的添加静态的(类 阅读全文

posted @ 2013-06-24 21:06 摩帆士 阅读(1012) 评论(0) 推荐(0) 编辑

Jquery中find、filter等几种用法的差异
摘要:1.filter:.filter( selector ).filter( function(index) ).filter( element ).filter( jQuery object )和find区别:基本是find是对它的子集的操作,而filter是对自身集合元素(平级元素)的操作·find 函数是在当前对象集合的子元素中进行查询;·filter 函数是对当前对象集合进行过滤, 利用过滤条件缩小范围;·find 函数的参数是 jQuery 选择器表达式;·filter 的参数也是选择器表达式, 但可以有多个条件, 用逗号分隔(逻辑或关系); 阅读全文

posted @ 2013-06-24 14:36 摩帆士 阅读(989) 评论(0) 推荐(0) 编辑

jQuery extend扩展
摘要:jQuery源码中的extend扩展:123jQuery.extend = jQuery.fn.extend = function() {...};我们可以用$.extend去扩展自定义的对象,实现方式:1,通过$.extend扩展 /** * 扩展对象,override参数的作用是是否覆盖第一个对象中的已有属性,true时覆盖,false时不覆盖. * @param {Object} * @param {Boolean} * @return {Object} */ $.extend = function (destination, source, o... 阅读全文

posted @ 2013-06-15 16:03 摩帆士 阅读(327) 评论(0) 推荐(0) 编辑

类似于jquery的Mole库架构分析
摘要:仿jquery写的一个东东~以下是jQuery 1.6.1 代码片段123456789101112131415varjQuery = function( selector, context ) {// The jQuery object is actually just the init constructor 'enhanced'returnnewjQuery.fn.init( selector, context, rootjQuery );},...jQuery.fn = jQuery.prototype = {constructor: jQuery,init: funct 阅读全文

posted @ 2013-06-15 14:27 摩帆士 阅读(285) 评论(0) 推荐(0) 编辑

JQuery中调用html()需要去掉空格
摘要:IE6/78中,弹出字符串的长度是4,即忽略了空格。IE9/Firefox/Safari/Chrome/Opera中,弹出则是7,即没有忽略空格。这时候拿.html()的返回值作为代码分支的条件明显在非IE浏览器中会出错。如果非要使用元素的html内容作为判断条件,解决办法很简单:1,写html时去掉空格2,调用html()方法后再调用trim(),如var str = $('#main').html().trim(); 阅读全文

posted @ 2013-06-15 14:00 摩帆士 阅读(489) 评论(0) 推荐(0) 编辑

限制数量不可为0,且不大于1000
摘要:限制数量不可为0,且不大于1000 /^([1-9]\d{0,2}|1000)$/ 阅读全文

posted @ 2013-06-13 15:22 摩帆士 阅读(179) 评论(0) 推荐(0) 编辑

chrome下不支持select里面的option单击事件!
摘要:<tr><td><label><i>*</i> 发票需求:</label><select id="iNeed" class="in-s" name=""><option value="" id="0">请选择上级公司</option><option value="" id="1">好旺角集团</option><optio 阅读全文

posted @ 2013-06-09 15:50 摩帆士 阅读(740) 评论(0) 推荐(0) 编辑

实现自适应宽度圆角按钮的方法
摘要:html代码的结构其实说起来也不难,首先做一个足够长度的图片,然后通过设置背景图片,让父元素显示按钮的左部,子元素显示按钮的右部,这样就可以随着不同的宽度显示完整的按钮。关键代码:a.reg-btn, a.reg-btn span { background: url("/images/regist/bg-reg-btn.gif") no-repeat;}a.reg-btn{ padding-left:3px; background-position: 0 -100px;}a.reg-btn span{ background-position: right -100px;.. 阅读全文

posted @ 2013-06-08 16:14 摩帆士 阅读(286) 评论(0) 推荐(0) 编辑

jQuery分析(取DOM元素)
摘要:使用过Prototype.js的同学知道$(xx)调用后返回的是HTMLElement或其集合。jQuery的$调用后想要获取DOM元素可以使用get方法,如下?12// 方式1$('div').get(1); // 获取页面中第二个div当然,也可以使用数组索引方式获取?12// 方式2$('div')[1]; // 获取页面中第二个div上面两种方式都可以获取某一个特定的DOM元素,而获取DOM元素集合却要使用toArray方法?1$('div').toArray(); // 返回页面中所有的div,依次放入数组中看看get方法的源码?123 阅读全文

posted @ 2013-06-05 23:40 摩帆士 阅读(267) 评论(0) 推荐(0) 编辑

仿jQuery中each方法实现
摘要:这篇将分析下jQuery.each及this.each方法。看看他们如何与jQuery.extend一起扩展jQuery库。部分源码如下?12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455jQuery.fn = jQuery.prototype = {...// Execute a callback for every element in the matched set.// (You can seed the arguments with 阅读全文

posted @ 2013-06-05 23:30 摩帆士 阅读(288) 评论(0) 推荐(0) 编辑

jQuery分析(缓存数据)
摘要:很多同学在项目中都喜欢将数据存储在HTMLElement属性上,如?1234<divdata="some data">Test</div><script>div.getAttribute('data'); // some data</script>给页面中div添加了自定义属性“data”及值“some data”。后续JS代码中使用getAttribute获取。jQuery从1.2.3开始提供了data/removeData方法用来存储/删除数据。1.6.1代码片段?123456789jQuery.exten 阅读全文

posted @ 2013-06-05 23:15 摩帆士 阅读(222) 评论(0) 推荐(0) 编辑

Javascript模块化编程(二):require.js的用法
摘要:我采用的是一个非常流行的库require.js。一、为什么要用require.js?最早的时候,所有Javascript代码都写在一个文件里面,只要加载这一个文件就够了。后来,代码越来越多,一个文件不够了,必须分成多个文件,依次加载。下面的网页代码,相信很多人都见过。 这段代码依次加载多个js文件。这样的写法有很大的缺点。首先,加载的时候,浏览器会停止网页渲染,加载文件越多,网页失去响应的时间就会越长;其次,由于js文件之间存在依赖关系,因此必须严格保证加载顺序(比如上例的1.js要在2.js的前面),依赖性最大的模块一定要放到最后加载,当依赖关系很复杂的时候,代码的编写... 阅读全文

posted @ 2013-06-05 16:45 摩帆士 阅读(186) 评论(0) 推荐(0) 编辑

Javascript模块化编程:AMD规范
摘要:一、模块的规范先想一想,为什么模块很重要?因为有了模块,我们就可以更方便地使用别人的代码,想要什么功能,就加载什么模块。但是,这样做有一个前提,那就是大家必须以同样的方式编写模块,否则你有你的写法,我有我的写法,岂不是乱了套!考虑到Javascript模块现在还没有官方规范,这一点就更重要了。目前,通行的Javascript模块规范共有两种:CommonJS和AMD。我主要介绍AMD,但是要先从CommonJS讲起。二、CommonJS2009年,美国程序员Ryan Dahl创造了node.js项目,将javascript语言用于服务器端编程。这标志"Javascript模块化编程& 阅读全文

posted @ 2013-06-05 16:35 摩帆士 阅读(209) 评论(0) 推荐(0) 编辑

字符串转换成JSON
摘要:利用Ajax的项目开发过程中,经常需要将JSON格式的字符串返回到前端,前端解析成JS对象(JSON )。ECMA-262(E3) 中没有将JSON概念写到标准中,但在 ECMA-262(E5) 中JSON的概念被正式引入了,包括全局的JSON对象和Date的toJSON方法。1,eval方式解析?1234functionstrToJson(str){varjson = eval('('+ str + ')');returnjson;}2,new Function形式?1234functionstrToJson(str){varjson = (newFuncti 阅读全文

posted @ 2013-06-05 15:46 摩帆士 阅读(210) 评论(0) 推荐(0) 编辑

Array.prototype.slice.call
摘要:在研究某个框架源码的时候,看到的。查了下资料,1.两个部分,一个是String.slice()slice( ) returns a string containing a slice, or substring, of string. It does not modify string。slice()返回一个子片段,对原先的string没有影响,还可以用负数当参数。Example://fromjavascript-thedefinitiveGuide5thEditionvars="abcdefg";s.slice(0,4)//Returns"abcd"s 阅读全文

posted @ 2013-06-05 15:37 摩帆士 阅读(229) 评论(0) 推荐(0) 编辑

将HTMLCollection/NodeList/伪数组转换成数组
摘要:这里把符合以下条件的对象称为伪数组(ArrayLike)1,具有length属性2,按索引方式存储数据3,不具有数组的push,pop等方法如1,function内的arguments 。2,通过document.forms,Form.elements,Select.options,document.getElementsByName() ,document.getElementsByTagName() ,childNodes/children等方式获取的集合(HTMLCollection,NodeList)等。3,特殊写法的对象 ,如?12345varobj={};obj[0] = &quo 阅读全文

posted @ 2013-06-05 15:04 摩帆士 阅读(300) 评论(0) 推荐(0) 编辑

The Best BootStrap Resources(转)
摘要:Twitter BootStrap是一款优秀的前端的框架,称得上是前端的一个框架利器。Web前端开发者每天都在与HTML、CSS、JavaScript打交道,然而不少人都是在周而复始的写模板、样式和交互效果,前没有想过如何将这些重复的工作整合在一起。Twitter推出的BootStrap能够帮助Web前端开发者摆脱这种重复的劳动。最近在各群讨论BootStrap相关的话题也明显增多,有很多Web前端人员在开始或者已接触、并在使用BootStrap。为了能帮助大家更好的学习和使用Bootstrap这个优秀框架,我今天整理了一份我收藏的相关资源,这篇文章可以说是学习BootStrap的一个最好最全 阅读全文

posted @ 2013-06-03 09:46 摩帆士 阅读(422) 评论(0) 推荐(1) 编辑

点击右上角即可分享
微信分享提示