- 浏览: 131766 次
- 性别:
- 来自: 福建
文章分类
- 全部博客 (105)
- 数据库 (4)
- hibernate (4)
- css3 (2)
- 前端设计 (13)
- struts (6)
- HTML5 (1)
- jQuery (16)
- JDBC (3)
- spring (6)
- 娱乐 (1)
- MyEclipse (2)
- oracle (4)
- javascript (10)
- ibatis (2)
- log4j (1)
- css (16)
- java (13)
- IText (1)
- IDE (1)
- C3P0 (1)
- ssi (1)
- IO (1)
- jsp (1)
- JSTL (1)
- JXL (1)
- ssh (1)
- ajax (2)
- struts2 (1)
- html (1)
- 正则表达式 (1)
- 非技术 (1)
- Properties (1)
- Tomcat (1)
- 电大 (0)
- test (0)
最新评论
-
yejq:
收藏~~
使用 Ctrl + Enter 提交表单
js 常用函数【转载】
1.声明 var myString = new String("Every good boy does fine."); var myString = "Every good boy does fine."; 2.字符串连接 var myString = "Every " + "good boy " + "does fine."; var myString = "Every "; myString += "good boy does fine."; 3.截取字符串 //截取第 6 位开始的字符 var myString = "Every good boy does fine."; var section = myString.substring(6); //结果: "good boy does fine." //截取第 0 位开始至第 10 位为止的字符 var myString = "Every good boy does fine."; var section = myString.substring(0,10); //结果: "Every good" //截取从第 11 位到倒数第 6 位为止的字符 var myString = "Every good boy does fine."; var section = myString.slice(11,-6); //结果: "boy does" //从第 6 位开始截取长度为 4 的字符 var myString = "Every good boy does fine."; var section = myString.substr(6,4); //结果: "good" 4.转换大小写 var myString = "Hello"; var lcString = myString.toLowerCase(); //结果: "hello" var ucString = myString.toUpperCase(); //结果: "HELLO" 5.字符串比较 var aString = "Hello!"; var bString = new String("Hello!"); if( aString == "Hello!" ){ } //结果: true if( aString == bString ){ } //结果: true if( aString === bString ){ } //结果: false (两个对象不同,尽管它们的值相同) 6.检索字符串 var myString = "hello everybody."; // 如果检索不到会返回-1,检索到的话返回在该串中的起始位置 if( myString.indexOf("every") > -1 ){ } //结果: true 7.查找替换字符串 var myString = "I is your father."; var result = myString.replace("is","am"); //结果: "I am your father." 8.特殊字符: \b : 后退符 \t : 水平制表符 \n : 换行符 \v : 垂直制表符 \f : 分页符 \r : 回车符 \" : 双引号 \' : 单引号 \\ : 反斜杆 9.将字符转换成Unicode编码 var myString = "hello"; var code = myString.charCodeAt(3); //返回"l"的Unicode编码(整型) var char = String.fromCharCode(66); //返回Unicode为66的字符 10.将字符串转换成URL编码 var myString = "hello all"; var code = encodeURI(myString); //结果: "hello%20all" var str = decodeURI(code); //结果: "hello all" //相应的还有: encodeURIComponent() decodeURIComponent() 11.将字符串转换成base64编码 // base64Encode() base64Decode() 用法同上 //----------------------------------------------------------------------- ·数字型(Number) 1.声明 var i = 1; var i = new Number(1); 2.字符串与数字间的转换 var i = 1; var str = i.toString(); //结果: "1" var str = new String(i); //结果: "1" i = parseInt(str); //结果: 1 i = parseFloat(str); //结果: 1.0 //注意: parseInt,parseFloat会把一个类似于"32G"的字符串,强制转换成32 3.判断是否为有效的数字 var i = 123; var str = "string"; if( typeof i == "number" ){ } //true //某些方法(如:parseInt,parseFloat)会返回一个特殊的值NaN(Not a Number) //请注意第2点中的[注意],此方法不完全适合判断一个字符串是否是数字型!! i = parseInt(str); if( isNaN(i) ){ } 4.数字型比较 //此知识与[字符串比较]相同 5.小数转整数 var f = 1.5; var i = Math.round(f); //结果:2 (四舍五入) var i = Math.ceil(f); //结果:2 (返回大于f的最小整数) var i = Math.floor(f); //结果:1 (返回小于f的最大整数) 6.格式化显示数字 var i = 3.14159; //格式化为两位小数的浮点数 var str = i.toFixed(2); //结果: "3.14" //格式化为五位数字的浮点数(从左到右五位数字,不够补零) var str = i.toPrecision(5); //结果: "3.1415" 7.X进制数字的转换 //不是很懂 -.- var i = parseInt("0x1f",16); var i = parseInt(i,10); var i = parseInt("11010011",2); 8.随机数 //返回0-1之间的任意小数 var rnd = Math.random(); //返回0-n之间的任意整数(不包括n) var rnd = Math.floor(Math.random() * n) //----------------------------------------------------------------------- ·Math对象 1. Math.abs(num) : 返回num的绝对值 2. Math.acos(num) : 返回num的反余弦值 3. Math.asin(num) : 返回num的反正弦值 4. Math.atan(num) : 返回num的反正切值 5. Math.atan2(y,x) : 返回y除以x的商的反正切值 6. Math.ceil(num) : 返回大于num的最小整数 7. Math.cos(num) : 返回num的余弦值 8. Math.exp(x) : 返回以自然数为底,x次幂的数 9. Math.floor(num) : 返回小于num的最大整数 10.Math.log(num) : 返回num的自然对数 11.Math.max(num1,num2) : 返回num1和num2中较大的一个 12.Math.min(num1,num2) : 返回num1和num2中较小的一个 13.Math.pow(x,y) : 返回x的y次方的值 14.Math.random() : 返回0到1之间的一个随机数 15.Math.round(num) : 返回num四舍五入后的值 16.Math.sin(num) : 返回num的正弦值 17.Math.sqrt(num) : 返回num的平方根 18.Math.tan(num) : 返回num的正切值 19.Math.E : 自然数(2.718281828459045) 20.Math.LN2 : 2的自然对数(0.6931471805599453) 21.Math.LN10 : 10的自然对数(2.302585092994046) 22.Math.LOG2E : log 2 为底的自然数(1.4426950408889634) 23.Math.LOG10E : log 10 为底的自然数(0.4342944819032518) 24.Math.PI : π(3.141592653589793) 25.Math.SQRT1_2 : 1/2的平方根(0.7071067811865476) 26.Math.SQRT2 : 2的平方根(1.4142135623730951) //----------------------------------------------------------------------- ·日期型(Date) 1.声明 var myDate = new Date(); //系统当前时间 var myDate = new Date(yyyy, mm, dd, hh, mm, ss); var myDate = new Date(yyyy, mm, dd); var myDate = new Date("monthName dd, yyyy hh:mm:ss"); var myDate = new Date("monthName dd, yyyy"); var myDate = new Date(epochMilliseconds); 2.获取时间的某部份 var myDate = new Date(); myDate.getYear(); //获取当前年份(2位) myDate.getFullYear(); //获取完整的年份(4位,1970-????) myDate.getMonth(); //获取当前月份(0-11,0代表1月) myDate.getDate(); //获取当前日(1-31) myDate.getDay(); //获取当前星期X(0-6,0代表星期天) myDate.getTime(); //获取当前时间(从1970.1.1开始的毫秒数) myDate.getHours(); //获取当前小时数(0-23) myDate.getMinutes(); //获取当前分钟数(0-59) myDate.getSeconds(); //获取当前秒数(0-59) myDate.getMilliseconds(); //获取当前毫秒数(0-999) myDate.toLocaleDateString(); //获取当前日期 myDate.toLocaleTimeString(); //获取当前时间 myDate.toLocaleString( ); //获取日期与时间 3.计算之前或未来的时间 var myDate = new Date(); myDate.setDate(myDate.getDate() + 10); //当前时间加10天 //类似的方法都基本相同,以set开头,具体参考第2点 4.计算两个日期的偏移量 var i = daysBetween(beginDate,endDate); //返回天数 var i = beginDate.getTimezoneOffset(endDate); //返回分钟数 5.检查有效日期 //checkDate() 只允许"mm-dd-yyyy"或"mm/dd/yyyy"两种格式的日期 if( checkDate("2006-01-01") ){ } //正则表达式(自己写的检查 yyyy-mm-dd, yy-mm-dd, yyyy/mm/dd, yy/mm/dd 四种) var r = /^(\d{2}|\d{4})[\/-]\d{1,2}[\/-]\d{1,2}$/; if( r.test( myString ) ){ } //----------------------------------------------------------------------- ·数组(Array) 1.声明 var arr = new Array(); //声明一个空数组 var arr = new Array(10); //声明一个10个长度的数组 var arr = new Array("Alice", "Fred", "Jean"); //用值初始化数组 var arr = ["Alice", "Fred", "Jean"]; //用值初始化数组 var arr = [["A","B","C"][1,2,3]]; //声明一个二(多)维数组 2.数组的访问 arr[0] = "123"; //赋值 var str = arr[0]; //获取 arr[0][0] = "123"; //多维数组赋值 3.数组与字符串间的转换 var arr = ["A","B","C","D"]; //声明 //数组按分隔符转换成字符串 var str = arr.join("|"); //结果: "A|B|C|D" //字符串切割成数组 arr = str.split("|"); 4.遍历数组 for( var i=0; i<arr.length; i++ ){ alert(arr[i]); } 5.排序 var arr = [12,15,8,9]; arr.sort(); //结果: 8 9 12 15 6.组合与分解数组 var arr1 = ["A","B","C","D"]; var arr2 = ["1","2","3","4"]; //奖两个数组组合成一个新的数组 var arr = arr1.concat(arr2); //结果: ["A","B","C","D","1","2","3","4"] //将一个数组切成两个数组(参数1:起始索引,参数2:切割长度) var arr3 = arr.splice(1,3); //结果: arr3:["B","C","D"] arr["A","1","2","3","4"] //将一个数组切成两个数组,并在原数组补新值 var arr4 = arr.splice(1,3,"AA"); //结果: arr4:["B","C","D"] arr["A","AA","1","2","3","4"] //----------------------------------------------------------------------- ·自定义对象 1.声明: function myUser(uid,pwd){ this.uid = uid; this.pwd = pwd || "000000"; //默认值 this.show = showInfo; //方法 } //下面的函数不是自定义对象,是自定义对象的方法.继续看下去就明白了 function showInfo(){ alert("用户名:" + this.uid + ",密码:" + this.pwd) } 2.实例化: var user = new myUser("user","123456"); var user = {uid:"user",pwd:"123456"}; 3.获取与设置 alert("用户名是:" + user.uid); //get user.uid = "newuser"; //set user.show(); //调用show()方法 //----------------------------------------------------------------------- ·变量 函数 流程控制 1.变量 var i = 1; var i = 1, str = "hello"; 2.函数 function funName(){ //do something. } function funName(param1[,paramX]){ //do something. } 3.嵌套函数 //某种情况,你需要创建一个函数本身所独有的函数. function myFunction(){ //do something. privateFunction(); function privateFunction(){ //do something. } } 4.匿名函数 var tmp = function(){ alert("only test."); } tmp(); 5.延迟函数调用 var tId = setTimeout("myFun()",1000); //延迟1000毫秒后再调用myFun()函数 fucntion myFun(){ //do something clearTimeout(tId); //销毁对象 } 6.流程控制 if( condition ){ } if( condition ){ } else{ } if( condition ){ } else if( condition ){ } else{ } switch( expression ){ case valA : statement; break; case valB : statement; break; default : statement; break; } 7.异常捕获 try{ expression } catch(e){ } finally{ } //不处理任何异常 window.onerror = doNothing; function doNothing(){ return true; } //异常类可用的属性 description : 异常描述(IE,NN) fileName : 异常页面URI(NN) lineNumber : 异常行数(NN) message : 异常描述(IE,NN) name : 错误类型(IE,NN) number : 错误代码(IE) //错误信息(兼容所有浏览器) try{ } catch(e){ var msg = (e.message) ? e.message : e.description; alert(msg); } 8.加快脚本的执行速度 -避免使用 eval() 函数 -避免使用 with 关键字 -将重复的表达式赋值精简到最小 -在较大的对象中使用索引来查找数组 -减少 document.write() 的使用 //----------------------------------------------------------------------- ·浏览器特征( navigator ) 1.浏览器名称 //IE : "Microsoft Internet Explorer" //NS : "Netscape" var browserName = navigator.appName; 2.浏览器版本 bar browserVersion = navigator.appVersion; 3.客户端操作系统 var isWin = ( navigator.userAgent.indexOf("Win") != -1 ); var isMac = ( navigator.userAgent.indexOf("Mac") != -1 ); var isUnix = ( navigator.userAgent.indexOf("X11") != -1 ); 4.判断是否支持某对象,方法,属性 //当一个对象,方法,属性未定义时会返回undefined或null等,这些特殊值都是false if( document.images ){ } if( document.getElementById ){ } 5.检查浏览器当前语言 if( navigator.userLanguage ){ var l = navigator.userLanguage.toUpperCase(); } 6.检查浏览器是否支持Cookies if( navigator.cookieEnabled ){ } //----------------------------------------------------------------------- ·控制浏览器窗口( window ) 1.设置浏览器的大小 window.resizeTo(800, 600); //将浏览器调整到800X600大小 window.resizeBy(50, -10); //在原有大小上改变增大或减小窗口大小 2.调整浏览器的位置 window.moveTo(10, 20); //将浏览器的位置定位到X:10 Y:20 window.moveBy(0, 10); //在原有位置上移动位置(偏移量) 3.创建一个新的窗口 var win = window.open("about.htm","winName","height=300,width=400"); //参数 alwaysLowered //始终在其它浏览器窗口的后面(NN) alwaysRaised //始终在其它浏览器窗口的前面(NN) channelMode //是否为导航模式(IE) copyhistory //复制历史记录至新开的窗口(NN) dependent //新窗口随打开它的主窗口关闭而关闭(NN) fullscreen //全屏模式(所有相关的工具栏都没有)(IE) location //是否显示地址栏(NN,IE) menubar //是否显示菜单栏(NN,IE) scrollbars //是否显示滚动条(NN,IE) status //是否显示状态栏(NN,IE) toolbar //是否显示工具栏(NN,IE) directories //是否显示链接栏(NN,IE) titlebar //是否显示标题栏(NN) hotkeys //显示菜单快捷键(NN) innerHeight //内容区域的高度(NN) innerWidth //内容区域的宽度(NN) resizable //是否可以调整大小(NN,IE) top //窗口距离桌面上边界的大小(NN,IE) left //窗口距离桌面左边界的大小(NN,IE) height //窗口高度(NN,IE) width //浏览器的宽度 4.与新窗口通讯 win.focus(); //让新窗口获得焦点 win.document.write("abc"); //在新窗口上操作 win.document.close(); //结束流操作 opener.close(); 5.模式窗口 window.showModalDialog("test.htm",dialogArgs,"param"); //传递对象 window.showModelessDialog("test.htm",myFunction,"param"); //传递函数 window.dialogArguments //对话框访问父窗口传递过来的对象 window.returnValue //父窗口获取对话框返回的值 //参数 center //窗口居中屏幕 dialogHeight //窗口高度 dialogWidth //窗口宽度 dialogTop //窗口距离屏幕的上边距 dialogLeft //窗口距离屏幕的左边距 edge //边框风格(raised|sunken) help //显示帮助按钮 resizable //是否可以改变窗口大小 status //是否显示状态栏 //例子 <script> function openDialog(myForm) { var result = window.showModalDialog("new.html",myForm,"center"); } </script> <form action="#" onsubmit="return false"> <input type="text" id="txtId"> <input type="button" id="btnChk" value="验证是否可用" onclick="openDialog(this.form);"> </form> //另一个页面new.html <script> window.dialogArguments.btnChk.enabled = false; //将父窗口中的按钮设置为不可用 //do something to check the Id. window.write("用户ID: " + window.dialogArguments.txtId.value + " 可使用!"); //获取文本框的值 </script> //----------------------------------------------------------------------- ·管理框架网页( frames ) 1.创建一个框架架构网页 <html> <frameset rows="50, *"> <frame name="header" src="header.html"> <frame name="main" src="main.html"> </frameset> </html> 2.访问框架网页 window.frames[i] window.frames["frameName"] window.frameName window.frames["frameName"].frames["frameName2"] parent.frames["frameName"] top.frames["frameName"] 3.将某一页面定向到某框架 <a href="new.html" target="main"> location = "new.html"; parent.frameName.location.href = "new.html"; top.frameName.location = "new.html"; 4.强制不让其它框架引用某页面 if (top != self) { top.location.href = location.href; } 5.更改框架的大小 document.framesetName.rows = "50,*"; document.framesetName.cols = "50,*"; 6.动态创建框架网页 var frag = document.createDocumentFragment( ); var newFrame= document.createElement("frame"); newFrame.id = "header"; newFrame.name = "header"; newFrame.src="header.html" frag.appendChild(newFrame); newFrame = document.createElement("frame"); newFrame.id = "main"; newFrame.name = "main"; newFrame.src="main.html" frag.appendChild(newFrame); document.getElementById("masterFrameset").rows = "50,*";
发表评论
-
兼容各浏览器的点击复制文本框内容的Jquery插件【转载】
2012-12-20 15:59 1097注:因为采用FLASH控件的文件实现兼容,所以本页面中 ... -
Ajax+Jquery评论特效
2012-12-14 16:53 836效果图 -
仿淘宝网的最近浏览记录功能
2012-07-19 11:46 2339<!DOCTYPE html PUBLIC &qu ... -
cookie的浏览记录功能
2012-07-19 11:36 3141cookie的浏览记录功能 script: /* ... -
按需加载的图片
2012-07-19 10:48 924<!DOCTYPE html> <h ... -
非常好的tab栏目切换效果,经典呀!
2012-05-03 10:59 3199非常好的tab栏目切换效果 <!DOCTYPE ... -
使用 Ctrl + Enter 提交表单
2012-04-11 10:56 1195使用 Ctrl + Enter 提交表单 < ... -
cookie读取方法
2012-04-11 10:20 852cookie读取方法 /** *设值 **/ ... -
正则表达口诀
2012-03-01 14:53 1156正则表达口诀 正则其 ...
相关推荐
本书是一本全面、深入介绍JavaScript语言的学习指南。本书共分四个部分,第1部分帮助读者快速入手,掌握基本的JavaScript编程要点;第2部分介绍JavaScript的发展和技术背景;第3部分深入探索JavaScript,介绍了语法...
《Head First JavaScript源码》是2010年出版的一本中文版JavaScript学习书籍的源码,这本书以其独特的视觉设计和易理解的方式深入浅出地介绍了JavaScript编程语言。JavaScript是一种广泛应用于网页和网络应用的脚本...
《JavaScript语言精粹》作为一本深入浅出讲解JavaScript编程语言的经典之作,对于想要提升自己JavaScript技能的开发者来说,无疑是一份宝贵的资源。本书由Douglas Crockford所著,他不仅是JSON格式的创始人,也是...
Author David Herman, with his years of experience on Ecma’s JavaScript standardization committee, illuminates the language’s inner workings as never before—helping you take full advantage of ...
在这个场景中,我们关注的是VS2015的安装过程中涉及到的证书问题以及两个特定的组件:JavaScript_ProjectSystem.msi和JavaScript_LanguageService.msi。 首先,关于“VS2015安装证书”,这通常是指安装过程中需要...
《JavaScript程序设计案例教程》课件(共13章)第1章 JavaScript程序设计案例教程.pdf《JavaScript程序设计案例教程》课件(共13章)第1章 JavaScript程序设计案例教程.pdf《JavaScript程序设计案例教程》课件(共13章)第...