javascript函数使用技巧集合.doc_第1页
javascript函数使用技巧集合.doc_第2页
javascript函数使用技巧集合.doc_第3页
javascript函数使用技巧集合.doc_第4页
javascript函数使用技巧集合.doc_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

字符串(String) 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 = /(d2|d4)/-d1,2/-d1,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,C1,2,3; /声明一个二(多)维数组 2.数组的访问 arr0 = 123; /赋值 var str = arr0; /获取 arr00 = 123; /多维数组赋值 3.数组与字符串间的转换 var arr = A,B,C,D; /声明 /数组按分隔符转换成字符串 var str = arr.join(|); /结果: A|B|C|D /字符串切割成数组 arr = str.split(|); 4.遍历数组 for( var i=0; iarr.length; i+ ) alert(arr); 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 arrA,1,2,3,4 /将一个数组切成两个数组,并在原数组补新值 var arr4 = arr.splice(1,3,AA); /结果: arr4:B,C,D arrA,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 /是否显示状态栏 /例子 function openDialog(myForm) var result = window.showModalDialog(new.html,myForm,center); /另一个页面

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论