最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

javascript函数使用技巧集合

来源:动视网 责编:小OO 时间:2025-10-01 02:09:06
文档

javascript函数使用技巧集合

字符串(String)1.声明varmyString=newString("Everygoodboydoesfine.");varmyString="Everygoodboydoesfine.";2.字符串连接varmyString="Every"+"goodboy"+"doesfine.";varmyString="Every";myString+="goodboydoesfine.";3.截取字符串//截取第6位开始的字符varmyString="Everygoodboydoesfine.
推荐度:
导读字符串(String)1.声明varmyString=newString("Everygoodboydoesfine.");varmyString="Everygoodboydoesfine.";2.字符串连接varmyString="Every"+"goodboy"+"doesfine.";varmyString="Every";myString+="goodboydoesfine.";3.截取字符串//截取第6位开始的字符varmyString="Everygoodboydoesfine.
字符串(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结果: "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.将字符串转换成base编码 

// baseEncode() baseDecode() 用法同上 

//----------------------------------------------------------------------- 

·数字型(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.44269504088634) 

23.Math.LOG10E : log 10 为底的自然数(0.4342944819032518) 

24.Math.PI : π(3.1415926535793) 

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声明一个二(多)维数组 

2.数组的访问 

arr[0] = "123"; //赋值 

var str = arr[0]; //获取 

arr[0][0] = "123"; //数组赋值 

3.数组与字符串间的转换 

var arr = ["A声明 

//数组按分隔符转换成字符串 

var str = arr.join("|"); //结果: "A|B|C|D" 

//字符串切割成数组 

arr = str.split("|"); 

4.遍历数组 

for( var i=0; i5.排序 

var arr = [12,15,8,9]; 

arr.sort(); //结果: 8 9 12 15 

6.组合与分解数组 

var arr1 = ["A

var arr2 = ["1

//奖两个数组组合成一个新的数组 

var arr = arr1.concat(arr2); //结果: ["A

//将一个数组切成两个数组(参数1:起始索引,参数2:切割长度) 

var arr3 = arr.splice(1,3); //结果: arr3:["B

//将一个数组切成两个数组,并在原数组补新值 

var arr4 = arr.splice(1,3,"AA"); //结果: arr4:["B

//----------------------------------------------------------------------- 

·自定义对象 

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

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

//参数 

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 //是否显示状态栏 

//例子 

//另一个页面new.html 

//----------------------------------------------------------------------- 

·管理框架网页( frames ) 

1.创建一个框架架构网页 

2.访问框架网页 

window.frames 

window.frames["frameName"] 

window.frameName 

window.frames["frameName"].frames["frameName2"] 

parent.frames["frameName"] 

top.frames["frameName"] 

3.将某一页面定向到某框架 

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,*";

  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top