需要指出的是,这里只是总结了正则表达式的常用的且比较简单的语法,而不是全部语法,在我看来,掌握了这些常用语法,已经足够应对日常应用了。正则表达式不只是应用在ECMAScript中,在JAVA、.Net、Unix等也有相应应用,这篇文章则是以ECMAScript中的正则表达式为基础总结的。一、正则表达式基础 1、普通字符:字母、数字、下划线、汉字以及所有没有特殊意义的字符,如ABC123。在匹配时,匹配与之相同的字符。 2、特殊字符:(需要...
在ECMAScript中,有非常丰富的运算符和操作符,在这篇文章中将按通常的分类来稍微整理一下,不过在整理之前,先说明一下: 1、虽然标题是运算符和操作符,然而在我看来并没有多少严格区分的必要,在英文中,貌似也是用一个Operator来表示,所以在下文中我可能会混用。甚至,一些不属于运算符和操作符范畴的,我也整理在这里,只要我觉得必要。 2、对于运算符的优先级,你无需一一牢记——我相信你知道最简单的”先乘除,后加减”,...
接下来应该是BOM和HTML5了,但是鉴于ECMAScript5相对于ECMAScript3的新变化比较多,而且这些变化也非常的有意思,因此在这篇文章中再将我认为的有意思的变化(并非全部变化)集中整理一下,但这里只是列举,不具体展开。 一、语法变化 1、关键字和保留字 在ES3中,使用关键字做标识符会导致“Identifier Expected ”错误,而使用保留字做标识符可能会也可能不会导致相同的错误,具体取决于特定的引擎。在ES5中,关键字和保留字...
变量类型 在说函数之前,先来说说变量类型。 1、变量:变量在本质上就是命名的内存空间。 2、变量的数据类型:就是指变量可以存储的值的数据类型,比如Number类型、Boolean类型、Object类型等,在ECMAScript中,变量的数据类型是动态的,可以在运行时改变变量的数据类型。 3、变量类型:是指变量本身的类型,在ECMAScript中,变量类型就只有两种:值类型和引用类型。当变量的数据类型是简单数据类型时,变量类型就是值类型,当...
花了一晚上的时间解决了一个看似很容易的问题。今晚做的这个东西中由于要获取某列中的一个ID值。如果是用平常的那种JS传值的方式此问题就不存在,但是由于此次用到的都是jquery插件,包括各种弹出框,用JS传值就得用JS那丑陋的弹出框,所以,你懂得。 网上找了很多方法,用起来都不行,后来想到了jquery中的鼠标事件,可以在鼠标经过table时,获得当前行与列的值。页面如下所示: 具体操作就是点击“删除”按钮,然后调用jquery插...
在Web中用到多选项卡功能的网站有很多,比如163和126邮箱,用过的人知道。本人在那么多的类似插件中,目前碰到这个比较好,花了点时间调试出来了,请看效果图:这款插件叫jqueryMagicTabs,上图实现了基本功能,如添加选项卡,选择指定的选项卡。当添加的选项卡超过一定长度时会出现左右滑动的按钮,同时支持鼠标滑动选项卡。 这段代码如下所示: 代码如下:pageEncoding="UTF-8"%> MagicTabs的基础用法 $(function(...
好久以来就想实现一个模态的框框,找了很多的jquery插件,都没有碰到自己满意的,这次碰到了一个,但是由于还处于开发阶段吧,连个文档API都没有,自己摸索了好长一段时间才搞定。先来看看代码,本人看着源代码定制了自己想要的效果: 代码如下:pageEncoding="utf-8"%> JQueryMagicDialog 的基本使用 #btn{ position:absolute; top: 50px; left: 250px; } $(function(){ $('.dlgDemoBtn').click(function(){ var e...
基本动画代码:代码如下:Hello World jQuery! $(document).ready(function(){ //基本的动画函数主要分为show, hide和toggle三个. 都提供了无参数的版本//并且都提供了两个参数的重载,如show( speed, [callback] ), //callback,签名如下:function callback() {this;}在回调函数中的this 是执行此函数的DOM 对象. 会在动画结束时执行.//因为回调函数可以省略, 所以可以传入一个数值作为唯一参数, 则会在参数规定的时间内用动画效果的...
1、标签应越少越好(虽然有多个也不会导致程序报错),因为每个标签初始下载时都会阻塞页面渲染 2、标签尽量不要放在页面上方,尽量放在内的最下面,因为每个在执行的时候,都会下载对应的js文件,浏览器会等待所有js/css下载完成才显示出页面 3、当需要导入多个js文件的时候,一般情况下我们都是写两个,实际上是支持一次性导入多个的,例如: 4、标签中有一个属性:defer,该属性指明本元素所含的脚本不会修改DOM,因此代码能安全...
1.简介 Seajs,一个Web模块加载框架,追求简单、自然的代码书写和组织方式,:Sea.js 遵循 CMD 规范,模块化JS代码。依赖的自动加载、配置的简洁清晰,可以让程序员更多地专注编码。 2.优缺点 优点:1).提高可维护性。2).模块化编程。3).动态加载,前端性能优化 缺点:1).学习文档偏少且混乱,会更改团队使用JS的编写习惯,必须使用模块化编程。2).不太适合团队目前的情况,多JS文件但少改动,动态加载优势和模块化优势不明显。3)....
1、原生JavaScript实现字符串长度截取代码如下:function cutstr(str, len) { var temp; var icount = 0; var patrn = /[^\x00-\xff]/; var strre = ""; for (var i = 0; i < str.length; i++) { if (icount < len - 1) { temp = str.substr(i, 1); if (patrn.exec(temp) == null) { icount = icount + 1 } else { icount = icount + 2 ...
可能有人说这是什么个格式?其实还不止呢。1 //11.2 //1.21.2e3 //12001.2e+3 //12001.2e-3 //0.0012.12e+2 //12-.12e-2 //-0.0012 当然这些只是十进制。我们来说说 八进制 和 十六进制。0x00, 0x11, 0xff 这种格式是十六进制,他们的十进制值分别是 0, 17, 255。 01, 07, 010, 012 这个是 八进制。(这里的 0 是数字 0,不是字母o)可能有朋友质疑了,这不是十进制么,怎么说是八进制呢?其实这就是 八进制,...
deep是布尔值,表示是否进行深度合并,默认是false,不执行深度合并.通过这种方式可以在jQuery或jQuery.fn上添加新的属性和方法,jQuery的其他模块大都是这么实现的. 给jQuery添加扩展时用$.extend()如:jQuery.extend({add:function(a,b){return a+b}}) 使用:$.add(1,3)=====>4; 给jQuery实例对象添加扩展时用$.fn.extend(); $.fn.extend({gys:function(){$(this).css("color","red")}}); 调用:$("div.guo").gys();因为参数的个数是不确...
从return new jQuery.fn.init( selector, context, rootjQuery )中可以看出参数selector和context是来自我们在调用jQuery方法时传过来的.那么selector和context都有哪些可能.对于表格中的4~9行中的可能做具体分析. 如果selector是字符串,则首先检测是html代码还是#id.126行的if语句:以"<"开头,以">"结尾,且长度>=3.则假设额这个是HTML片段,这里只是假设不一定就是合肥的html代码.比如"";130行的else:表示不是html代码.这个时候用正...
从源码中可以看到,这些常见的方法,都是直接从原生的javascript中"借鉴"过来的.为什么这么说呢?225行中,在运行时,this是指向jQuery对象的,通过call语句借鉴slice方法,切割出一个数组出来,这种"借鸡下蛋"的方法,真的是让人拍手叫绝.slice(start,end)是用来切分数组的.start表示切分数组的开始位置.省略end表示到从start一直到最后