`

javascript

阅读更多

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,*";
 
分享到:
评论

相关推荐

    《JavaScript》.pdf

    JavaScript是Web前端开发中不可或缺的脚本语言,它为网页提供了交互功能,使得网页从静态展示变成了可以与用户进行互动的平台。本文将从多个方面深入解析JavaScript在Web前端开发中的应用,涵盖从基础语法到高级功能...

    深入理解JavaScript系列

    本书是一本全面、深入介绍JavaScript语言的学习指南。本书共分四个部分,第1部分帮助读者快速入手,掌握基本的JavaScript编程要点;第2部分介绍JavaScript的发展和技术背景;第3部分深入探索JavaScript,介绍了语法...

    head first JavaScript源码

    《Head First JavaScript源码》是2010年出版的一本中文版JavaScript学习书籍的源码,这本书以其独特的视觉设计和易理解的方式深入浅出地介绍了JavaScript编程语言。JavaScript是一种广泛应用于网页和网络应用的脚本...

    JavaScript权威指南(JavaScript犀牛书一本)

    《JavaScript权威指南》是JavaScript编程领域的一本经典之作,由著名技术作家David Flanagan撰写,被誉为"JavaScript犀牛书"。这本书深入浅出地讲解了JavaScript语言的核心概念、语法特性和高级特性,对于想要全面...

    JavaScript语言精粹完整版

    《JavaScript语言精粹》作为一本深入浅出讲解JavaScript编程语言的经典之作,对于想要提升自己JavaScript技能的开发者来说,无疑是一份宝贵的资源。本书由Douglas Crockford所著,他不仅是JSON格式的创始人,也是...

    VS2015安装证书,JavaScript_ProjectSystem.msi,JavaScript_LanguageService.msi

    在这个场景中,我们关注的是VS2015的安装过程中涉及到的证书问题以及两个特定的组件:JavaScript_ProjectSystem.msi和JavaScript_LanguageService.msi。 首先,关于“VS2015安装证书”,这通常是指安装过程中需要...

    Effective JavaScript: 68 Specific Ways to Harness the Power of JavaScript[EPUB版]

    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 ...

    JavaScript学习指南 高清 PDF

    JavaScript,一种广泛应用于Web开发的脚本语言,是前端开发的核心技术之一。这份"JavaScript学习指南"高清PDF,无疑为想要深入理解JavaScript的初学者或有一定基础的开发者提供了宝贵的资源。下面,我们将深入探讨...

    《JavaScript程序设计案例教程》课件(共13章)第1章 JavaScript程序设计案例教程.pdf

    《JavaScript程序设计案例教程》课件(共13章)第1章 JavaScript程序设计案例教程.pdf《JavaScript程序设计案例教程》课件(共13章)第1章 JavaScript程序设计案例教程.pdf《JavaScript程序设计案例教程》课件(共13章)第...

    JavaScript全栈教程 (廖雪峰) 完整版PDF

    简单地说,JavaScript是一种运行在浏览器中的解释型的编程语言。在Web世界里,只有JavaScript能跨平台、跨浏览器驱动网 页,与用户交互。 《JavaScript全栈教程》是小白的零基础JavaScript全栈教程。从基础入门在...

    JavaScript书籍(JavaScript从入门到精通(第2版).pdf+高性能JavaScript.pdf)

    这两本书籍,"JavaScript从入门到精通(第2版)" 和 "高性能JavaScript",分别涵盖了JavaScript的基础知识和优化技巧,对于想要深入理解并提升JavaScript技能的开发者来说是宝贵的学习资源。 "JavaScript从入门到精通...

    web期末大作业 基于HTML+CSS+JavaScript实现的精美电商购物网站首页源码

    web期末大作业 基于HTML+CSS+JavaScript实现的精美电商购物网站首页源码 web期末大作业 基于HTML+CSS+JavaScript实现的精美电商购物网站首页源码 web期末大作业 基于HTML+CSS+JavaScript实现的精美电商购物网站首页...

    面向对象JavaScript精要(英文原版pdf)

    ### 面向对象JavaScript精要 #### 一、书籍概览 本书《面向对象JavaScript精要》由Nicholas C. Zakas编写,是面向对象编程领域中的权威指南之一,尤其针对JavaScript这门语言。作者深入浅出地介绍了面向对象编程的...

    javascript试题(附答案)

    JavaScript是一种广泛应用于网页和网络应用的编程语言,尤其在客户端脚本方面扮演着核心角色。这份"javascript试题(附答案)"是为初学者设计的,旨在帮助他们更好地理解和掌握JavaScript的基础知识。 一、变量与数据...

    ArcGis-for-javaScript最全中文API.pdf

    ArcGIS JavaScript API 介绍与示例 ArcGIS JavaScript API 是 ESRI 提供的一种基于 JavaScript 的开发工具,允许开发者创建交互式的 Web 地图应用程序。本文将对 ArcGIS JavaScript API 进行详细的介绍,并提供多个...

    JavaScript 动态网页设计期末大作业CHASMISH眼镜网(纯手打,高分项目).zip

    JavaScript 动态网页设计期末大作业CHASMISH眼镜网(纯手打,高分项目)。 JavaScript 动态网页设计期末大作业CHASMISH眼镜网(纯手打,高分项目)。 JavaScript 动态网页设计期末大作业CHASMISH眼镜网(纯手打,...

    [JavaScript权威指南(第6版)]

    《JavaScript权威指南(第6版)》主要讲述的内容涵盖JavaScript语言本身,以及Web浏览器所实现的JavaScript API。本书第6版涵盖了HTML5和ECMAScript 5,很多章节完全重写,增加了当今Web开发的最佳实践的内容,新增...

    Professional JavaScript for Web Developers英文版

    This book provides a developer-level introduction along with more advanced and useful features of JavaScript. Coverage includes: JavaScript use with HTML to create dynamic webpages, language concepts ...

    HTML+CSS+Javascript详细手册大全 含9个chm文档资料合集

    3- JavaScript参考手册.chm 4- JavaScript参考手册中文版.chm 5- Javascript高级教程.CHM 6- JavaScript使用手册.chm 7- 网页制作完全手册.chm 8- 样式表滤镜中文手册.CHM 9- 样式表中文手册2.0.CHM

    JavaScript DOM编程艺术(第2版pdf)+源代码

    JavaScript DOM编程艺术(第2版)是一本深受程序员喜爱的JavaScript技术书籍,专注于讲解如何使用JavaScript与Document Object Model(DOM)进行交互。DOM是Web页面的结构化表示,它允许我们通过编程方式操纵HTML和XML...

Global site tag (gtag.js) - Google Analytics