js函数集合(比较全)
- 格式:doc
- 大小:76.50 KB
- 文档页数:12
js的常用函数(原创实用版)目录一、JavaScript 函数分类二、常规函数1.alert 函数2.confirm 函数3.escape 函数4.eval 函数5.isNaN 函数6.parseFloat 函数7.parseInt 函数三、数组函数四、日期函数五、数学函数六、字符串函数正文JavaScript 是一种广泛应用于网页开发的编程语言,其中的函数是其重要的组成部分。
JavaScript 函数可以根据其用途和特性分为五类,包括常规函数、数组函数、日期函数、数学函数和字符串函数。
一、JavaScript 函数分类1.常规函数:这类函数主要用于处理一些常见的任务,如显示警告对话框、确认对话框、转换字符编码等。
2.数组函数:这类函数主要用于处理数组数据,包括数组的创建、修改、遍历等操作。
3.日期函数:这类函数主要用于处理日期和时间相关的任务,如获取当前日期、格式化日期等。
4.数学函数:这类函数主要用于执行一些数学运算,如计算平方根、绝对值、乘法等。
5.字符串函数:这类函数主要用于处理字符串数据,包括字符串的创建、修改、遍历等操作。
二、常规函数1.alert 函数:用于显示一个带有 OK 按钮的警告对话框。
2.confirm 函数:用于显示一个带有 OK 和 Cancel 按钮的确认对话框。
3.escape 函数:用于将特殊字符转换为对应的 Unicode 编码。
4.eval 函数:用于计算一个表达式的结果。
5.isNaN 函数:用于测试一个值是否为非数字。
6.parseFloat 函数:用于将一个字符串转换为浮点数。
7.parseInt 函数:用于将一个字符串转换为整数。
以上就是 JavaScript 中的常用函数大全,包括常规函数、数组函数、日期函数、数学函数和字符串函数。
JS中常⽤的内置函数JS内置函数不从属于任何对象,在JS语句的任何地⽅都可以直接使⽤这些函数。
JS中常⽤的内置函数如下: 1、eval(str)接收⼀个字符串形式的表达式,并试图求出表达式的值。
作为参数的表达式可以采⽤任何合法的操作符和常数。
如果参数中包含JS命令,这些命令也可以被执⾏,就像这些命令是JS程序的⼀部分⼀样。
2、parseInt(str,n)试图从⼀个字符串中提取⼀个整数。
可附加⼀个n整数实现返回n进制整数。
如果在字符串中存在除了数字、符号、⼩数点和指数符号以外的字符,就停⽌转换,返回已有的结果。
如果第⼀个字符就不能转换,函数就返回NaN值。
3、parseFloat(str)试图从⼀个字符串中提取⼀个浮点值。
如果在字符串中存在除了数字、符号、⼩数点和指数符号以外的字符,就停⽌转换并返回已有的结果。
如果第⼀个字符就不能转换,函数就返回NaN值。
4、isNaN()⽤于判断是否为NaN值类型,如果是函数返回true。
5、isFinite(number)可以判断参数number是否是⼀个⽆穷。
如果是则函数返回false,否则返回true。
6、escape()接受⼀个字符串,这个字符串中可能含有空格、分号等字符。
函数把字符串转换成Cookie的内部表⽰⽅式。
函数返回值就是这种内部的表达⽅式。
7、unescape()接受⼀个Cookie,把其内部表达⽅式转化成普通的字符串形式。
JS函数⼀共可分为常规函数、数组函数、⽇期函数、数学函数、字符串函数等五类。
1.9个常规函数 (1)alert函数:显⽰⼀个警告对话框,包括⼀个OK按钮。
(2)confirm函数:显⽰⼀个确认对话框,包括OK、Cancel按钮。
(3)escape函数:将字符转换成Unicode码。
(4)eval函数:计算表达式的结果。
(5)isNaN函数:测试是(true)否(false)不是⼀个数字。
(6)parseFloat函数:将字符串转换成符点数字形式。
JS中的数组与集合(方法)和函数JavaScript中的数组、集合和函数是非常重要的概念,它们在编程中经常被使用。
本文将详细介绍这些概念,并解释它们的用途和常见的应用。
数组(Array)是一种有序的数据结构,可以存储多个值。
在JavaScript中,可以使用数组来存储不同类型的数据,包括数字、字符串、对象等。
数组的长度可以动态地改变,可以通过索引访问和修改数组中的元素。
以下是一些常见的数组操作方法:1. push(:向数组末尾添加一个或多个元素。
2. pop(:删除并返回数组的最后一个元素。
3. shift(:删除并返回数组的第一个元素。
4. unshift(:向数组的开头添加一个或多个元素。
5. splice(:从数组中删除元素,并可以在指定位置插入新元素。
6. slice(:返回数组的一部分,不会修改原始数组。
7. concat(:连接两个或多个数组,并返回一个新数组。
8. reverse(:反转数组中的元素的顺序。
9. sort(:对数组元素进行排序。
集合(Set)是一种无序、唯一的数据结构,可以存储任何类型的值,不会重复。
在JavaScript中,集合是通过Set对象来实现的。
以下是一些常见的集合操作方法:1. add(:向集合中添加一个元素。
2. delete(:从集合中删除一个元素。
3. has(:判断集合中是否包含指定元素。
4. clear(:清空集合中的所有元素。
5. size(:返回集合中元素的个数。
6. values(:返回一个包含集合中所有元素的数组。
7. forEach(:遍历集合中的所有元素。
函数(Function)是一段可重复使用的代码块,可以接收参数并返回值。
在JavaScript中,函数是一等公民,可以作为变量、参数和返回值使用。
以下是一些常见的函数操作方法:1. 定义函数:使用function关键字定义一个函数,并指定函数名和参数。
2.调用函数:通过函数名和参数列表来调用函数,并获取返回值。
javascript函数参数总结前⾔ javascript中,函数不介意传递进来多少参数,也不在乎传进来的参数什么数据类型,甚⾄不传参数。
javascript中的函数定义未指定函数形参的类型,函数调⽤也不会对传⼊的实参值做任何类型检查。
同名形参 ⾮严格模式下,函数中可以出现同名形参,只能访问最后出现的该名称的形参。
在严格模式下,抛出语法错误。
1function add(x,x,x){2return x;3 }4 console.log(add(1,2,3)); //3参数个数 实参数⼤于形参数:1function say(name,message){2 console.log("hello"+name+message);3 }4 say("world","!","byebye"); //helloworld! 实参数⼩于形参数:1function say(name,message){2 console.log("hello"+name+message);3 }4 say("world!"); //helloworld!undefined 注意:在js中变量定义的时候,如果未给⼀个变量赋初值那么该变量的类型为undefined。
在函数调⽤时,⽆论参数个数如何变化函数都会执⾏,所有在js中函数不介意传递进来多少参数,也不在乎传递进来的参数是什么数据类型。
发⽣函数调⽤时可以给⼀个实参也可以给多个实参,因为在js中的参数在内部⽤⼀个数组来表⽰。
函数接收到的始终是这个数组,不关⼼参数个数,在函数内可以通过arguments对象来访问这个参数数组,获取传递给参数的每个参数。
arguments对象和数组对象类似,可以通过下标来获取传⼊的每⼀个元素;也可以使⽤length属性来确定传递进来多少个参数。
javascript数学函数JavaScript提供了许多内置的数学函数。
以下是一些例子:
1. Math.abs(x):返回x的绝对值。
2. Math.acos(x):返回x的反余弦值(以弧度为单位)。
3. Math.asin(x):返回x的反正弦值(以弧度为单位)。
4. Math.atan(x):返回x的反正切值(以弧度为单位)。
5. Math.ceil(x):返回大于或等于x的最小整数。
6. Math.cos(x):返回x的余弦值(以弧度为单位)。
7. Math.exp(x):返回e的x次幂。
8. Math.floor(x):返回小于或等于x的最大整数。
9. Math.log(x):返回x的自然对数。
10. Math.max(...args):返回传入的零个或多个参数中的最大值。
11. Math.min(...args):返回传入的零个或多个参数中的最小值。
12. Math.pow(x, y):返回x的y次幂。
13. Math.random():返回一个介于0(包括)和1(不包括)之间的随机数。
14. Math.round(x):返回x的四舍五入值。
15. Math.sin(x):返回x的正弦值(以弧度为单位)。
16. Math.sqrt(x):返回x的平方根。
17. Math.tan(x):返回x的正切值(以弧度为单位)。
js的math函数
javascript是全球使用最多的编程语言,它在web开发方面有着庞大且不断发展的功能。
“math”函数是javascript中的一个重要函数,也是它使用最多的函数之一。
Math函数是javascript中的一个内置对象,它提供了大量的数学函数,可以帮助开发者更容易地处理和计算数学函数。
Math函数主要提供了三类函数:算数函数、几何函数和概率函数。
首先,math函数提供了许多算数函数,主要的功能是用来对数字进行加、减、乘、除或取模等运算。
例如,Math.abs()用于取绝对值,Math.max()用于查找数组中最大的值,Math.min()用于查找数组中最小的值等等。
此外,math函数还提供了一些常用的数学运算,如平方根(Math.sqrt())、指数(Math.exp())、对数(Math.log())、次方(Math.pow())等等。
其次,math函数还提供了一些几何函数,它们可以用来计算曲线或多边形的面积、周长等。
例如,Math.acos()用于计算反余弦函数,Math.sin()用于计算正弦函数,Math.sqrt()用于计算圆的面积,Math.ceil()用于向上取整,Math.atan2()用于计算直角三角形的斜边等等。
最后,math函数还提供了一些概率函数,用于计算概率分布函数,如正态分布函数、对数正态分布函数、指数分布函数、伽马分布函数等。
概率函数的应用范围非常广泛,可以应用于统计学、金融学、工程学等多个领域。
通过以上分析,可以看出javascript中math函数是一个功能强大且使用广泛的函数,它可以应用于不同领域,为开发者提供了很多数学计算的便利,也是一个很重要的数学工具。
js函数的四种形式JavaScript函数可以有四种不同的形式:1.函数声明(Function Declaration):这是最常见的函数形式。
它在代码中明确声明函数,并分配给它一个名称。
然后,可以通过该名称来调用函数。
例如:function sayHello() {console.log("Hello, world!");}2.函数表达式(Function Expression):这种形式是通过将函数赋值给变量来创建函数。
然后,可以通过该变量名来调用函数。
例如:let sayHello = function() {console.log("Hello, world!");};3.箭头函数(Arrow Functions):箭头函数是ES6引入的新特性。
它们可以用作函数表达式,并且不具有自己的this值。
箭头函数可以简洁地表示函数表达式,并且不会创建自己的作用域。
例如:let sayHello = () => console.log("Hello, world!");4.函数构造器(Function Constructor):使用new关键字和Function构造函数可以创建新的函数实例。
例如:javascriptlet sayHello = new Function("console.log('Hello, world!')");请注意,虽然函数构造器的使用场景相对较少,但在某些特定情况下,例如动态创建函数或绑定函数到特定上下文时,它可能会非常有用。
Js函数大全1. document.write("");为输出语句2 .JS中的注释为//3. 传统的HTML文档顺序是:document->html->(head,body)4. 一个浏览器窗口中的DOM顺序是:window->(navigator,screen,history,location,document)5. 得到表单中元素的名称和值:document.getElementById("表单中元素的ID号").name(或value)6. 一个小写转大写的JS:document.getElementById("output").value = document.getElementById("input").value.toUpperCase();7. JS中的值类型:String,Number,Boolean,Null,Object,Function8. JS中的字符型转换成数值型:parseInt(),parseFloat()9. JS中的数字转换成字符型:(""+变量)10. JS中的取字符串长度是:(length)11. JS中的字符与字符相连接使用+号.12. JS中的比较操作符有:==等于,!=不等于,>,>=,<.<=13. JS中声明变量使用:var来进行声明14. JS中的判断语句结构:if(condition){}else{}15. JS中的循环结构:for([initial expression];[condition];[upadte expression]) {inside loop}16. 循环中止的命令是:break17. JS中的函数定义:function functionName([parameter],...){statement[s]}18. 当文件中出现多个form表单时.可以用document.forms[0],document.forms[1]来代替.19. 窗口:打开窗口window.open(), 关闭一个窗口:window.close(), 窗口本身:self20. 状态栏的设置:window.status="字符";21. 弹出提示信息:window.alert("字符");22. 弹出确认框:window.confirm();23. 弹出输入提示框:window.prompt();24. 指定当前显示链接的位置:window.location.href="URL"25. 取出窗体中的所有表单的数量:document.forms.length26. 关闭文档的输出流:document.close();27. 字符串追加连接符:+=28. 创建一个文档元素:document.createElement(),document.createTextNode()29. 得到元素的方法:document.getElementById()30. 设置表单中所有文本型的成员的值为空:var form = window.document.forms[0]for (var i = 0; i<form.elements.length;i++){if (form.elements[i].type == "text"){form.elements[i].value = "";}}31. 复选按钮在JS中判断是否选中:document.forms[0].checkThis.checked (checked属性代表为是否选中,返回TRUE或FALSE)32. 单选按钮组(单选按钮的名称必须相同):取单选按钮组的长度document.forms[0].groupName.length33. 单选按钮组判断是否被选中也是用checked.34. 下拉列表框的值:document.forms[0].selectName.options[n].value (n有时用下拉列表框名称加上.selectedIndex来确定被选中的值)35. 字符串的定义:var myString = new String("This is lightsword");36. 字符串转成大写:string.toUpperCase(); 字符串转成小写:string.toLowerCase();37. 返回字符串2在字符串1中出现的位置:String1.indexOf("String2")!=-1则说明没找到.38. 取字符串中指定位置的一个字符:StringA.charAt(9);39. 取出字符串中指定起点和终点的子字符串:stringA.substring(2,6);40. 数学函数:Math.PI(返回圆周率),Math.SQRT2(返回开方),Math.max(value1,value2)返回两个数中的最在值,Math.pow(value1,10)返回value1的十次方,Math.round(value1)四舍五入函数,Math.floor(Math.random()*(n+1))返回随机数41. 定义日期型变量:var today = new Date();42. 日期函数列表:dateObj.getTime()得到时间,dateObj.getYear()得到年份,dateObj.getFullYear()得到四位的年份,dateObj.getMonth()得到月份,dateObj.getDate()得到日,dateObj.getDay()得到日期几,dateObj.getHours()得到小时,dateObj.getMinutes()得到分,dateObj.getSeconds()得到秒,dateObj.setTime(value)设置时间,dateObj.setYear(val)设置年,dateObj.setMonth(val)设置月,dateObj.setDate(val)设置日,dateObj.setDay(val)设置星期几,dateObj.setHours设置小时,dateObj.setMinutes(val) 设置分,dateObj.setSeconds(val)设置秒[注意:此日期时间从0开始计]43. FRAME的表示方式:[window.]frames[n].ObjFuncVarName,frames["frameName"].ObjFuncVarName,frameName.ObjFu ncVarName44. parent代表父亲对象,top代表最顶端对象45. 打开子窗口的父窗口为:opener46. 表示当前所属的位置:this47. 当在超链接中调用JS函数时用:(javascript:)来开头后面加函数名48. 在老的浏览器中不执行此JS:<!-- //-->49. 引用一个文件式的JS:<script type="text/javascript" src="aaa.js"></script>50. 指定在不支持脚本的浏览器显示的HTML:<noscript></noscript>51. 当超链和ONCLICK事件都有时,则老版本的浏览器转向 a.html,否则转向 b.html.例:<a href="a.html" onclick="location.href='b.html';return false">dfsadf</a>52. JS的内建对象有:Array,Boolean,Date,Error,EvalError,Function,Math,Number,Object,RangeError,ReferenceError, RegExp,String,SyntaxError,TypeError,URIError53. JS中的换行:\n54. 窗口全屏大小:<script>functionfullScreen(){ this.moveTo(0,0);this.outerWidth=screen.availWidth;this.outerHeight=screen.availH eight;}window.maximize=fullScreen;</script>55. JS中的all代表其下层的全部元素56. JS中的焦点顺序:document.getElementByid("表单元素").tabIndex = 157. innerHTML的值是表单元素的值:如<p id="para">"how are <em>you</em>"</p>,则innerHTML 的值就是:how are <em>you</em>58. innerTEXT的值和上面的一样,只不过不会把<em>这种标记显示出来.59. contentEditable可设置元素是否可被修改,isContentEditable返回是否可修改的状态.60. isDisabled判断是否为禁止状态.disabled设置禁止状态61. length取得长度,返回整型数值62. addBehavior()是一种JS调用的外部函数文件其扩展名为.htc63. window.focus()使当前的窗口在所有窗口之前.64. blur()指失去焦点.与FOCUS()相反.65. select()指元素为选中状态.66. 防止用户对文本框中输入文本:onfocus="this.blur()"67. 取出该元素在页面中出现的数量:document.all.tags("div(或其它HTML标记符)").length68. JS中分为两种窗体输出:模态和非模态.window.showModaldialog(),window.showModeless()69. 状态栏文字的设置:window.status='文字',默认的状态栏文字设置:window.defaultStatus = '文字.';70. 添加到收藏夹:external.AddFavorite("","Google");71. JS中遇到脚本错误时不做任何操作:window.onerror = doNothing; 指定错误句柄的语法为:window.onerror = handleError;72. JS中指定当前打开窗口的父窗口:window.opener,支持opener.opener...的多重继续.73. JS中的self指的是当前的窗口74. JS中状态栏显示内容:window.status="内容"75. JS中的top指的是框架集中最顶层的框架76. JS中关闭当前的窗口:window.close();77. JS中提出是否确认的框:if(confirm("Are you sure?")){alert("ok");}else{alert("Not Ok");}78. JS中的窗口重定向:window.navigate("");79. JS中的打印:window.print()80. JS中的提示输入框:window.prompt("message","defaultReply");81. JS中的窗口滚动条:window.scroll(x,y)82. JS中的窗口滚动到位置:window.scrollby83. JS中设置时间间隔:setInterval("expr",msecDelay)或setInterval(funcRef,msecDelay)或setTimeout84. JS中的模态显示在IE4+行,在NN中不行:showModalDialog("URL"[,arguments][,features]);85. JS中的退出之前使用的句柄:function verifyClose(){event.returnValue="we really like you and hope you will stay longer.";}} window.onbeforeunload=verifyClose;86. 当窗体第一次调用时使用的文件句柄:onload()87. 当窗体关闭时调用的文件句柄:onunload()88. window.location的属性:protocol(http:),hostname(),port(80),host(:80),pathname("/a/ a.html"),hash("#giantGizmo",指跳转到相应的锚记),href(全部的信息)89. window.location.reload()刷新当前页面.89-1. parent.location.reload()刷新父亲对象(用于框架)89-2. opener.location.reload()刷新父窗口对象(用于单开窗口)89-3. top.location.reload()刷新最顶端对象(用于多开窗口)90. window.history.back()返回上一页,window.history.forward()返回下一页,window.history.go(返回第几页,也可以使用访问过的URL)91. document.write()不换行的输出,document.writeln()换行输出92. document.body.noWrap=true;防止链接文字折行.93. 变量名.charAt(第几位),取该变量的第几位的字符.94. "abc".charCodeAt(第几个),返回第几个字符的ASCii码值.95. 字符串连接:string.concat(string2),或用+=进行连接96. 变量.indexOf("字符",起始位置),返回第一个出现的位置(从0开始计算)97. stIndexOf(searchString[,startIndex])最后一次出现的位置.98. string.match(regExpression),判断字符是否匹配.99. string.replace(regExpression,replaceString)替换现有字符串.100. string.split(分隔符)返回一个数组存储值.101. string.substr(start[,length])取从第几位到指定长度的字符串.102. string.toLowerCase()使字符串全部变为小写.103. string.toUpperCase()使全部字符变为大写.104. parseInt(string[,radix(代表进制)])强制转换成整型.105. parseFloat(string[,radix])强制转换成浮点型.106. isNaN(变量):测试是否为数值型.107. 定义常量的关键字:const,定义变量的关键字:var。
JS中常⽤的⼀切函数和写法⼀、箭头函数arrow funtion1.定义⼀个匿名函数常规语法:function (x) {return x * x;}2.该函数使⽤箭头函数可以使⽤仅仅⼀⾏代码搞定!x => x * x箭头函数相当于匿名函数,并且简化了函数定义箭头函数有两种格式:⼀种像上⾯的,只包含⼀个表达式,连{ ... }和return都省略掉了。
还有⼀种可以包含多条语句,这时候就不能省略{ ... }和return。
例如:x => {if (x > 0) {return x * x;}else {return - x * x;}}箭头函数的语法规则:(parameters) => { statements }如果函数有多个参数或者没有参数,可按照下⾯写法:如果返回值仅仅只有⼀个表达式(expression), 还可以省略⼤括号。
// ⽆参数:() => 3.14//⼀个参数//如果只有⼀个参数,可以省略括号:x=>x*x// 两个参数:(x, y) => x * x + y * y// 可变参数:(x, y, ...rest) => {var i, sum = x + y;for (i=0; i<rest.length; i++) {sum += rest[i];}return sum;}注解:当传⼊的参数不确定时,使⽤rest运算符...rest注意:如果要返回⼀个对象,就要注意,如果是单表达式,这么写的话会报错:// SyntaxError:x => { foo: x }因为和函数体的 { ... } 有语法冲突,所以要改为:// ok:x => ({ foo: x })⼆、JS中filter的⽤法filter() ⽅法创建⼀个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。
注意: filter() 不会对空数组进⾏检测。
js 运算函数JavaScript是一种广泛应用于网页开发的脚本语言,它支持各种运算操作。
在JavaScript中,运算函数是一种非常常见的操作,它可以用来执行各种数学计算和逻辑运算。
本文将介绍一些常用的JavaScript运算函数,并对其使用方法和注意事项进行详细说明。
一、算术运算函数1. 加法运算函数:JavaScript中的加法运算函数可以用来对两个数进行相加操作。
例如,使用add函数可以将两个数相加并返回结果。
使用方式如下:```function add(a, b) {return a + b;}var result = add(5, 3);console.log(result); // 输出结果为8```2. 减法运算函数:JavaScript中的减法运算函数可以用来对两个数进行相减操作。
例如,使用subtract函数可以将两个数相减并返回结果。
使用方式如下:```function subtract(a, b) {return a - b;}var result = subtract(5, 3);console.log(result); // 输出结果为2```3. 乘法运算函数:JavaScript中的乘法运算函数可以用来对两个数进行相乘操作。
例如,使用multiply函数可以将两个数相乘并返回结果。
使用方式如下:```function multiply(a, b) {return a * b;}var result = multiply(5, 3);console.log(result); // 输出结果为15```4. 除法运算函数:JavaScript中的除法运算函数可以用来对两个数进行相除操作。
例如,使用divide函数可以将两个数相除并返回结果。
使用方式如下:```function divide(a, b) {return a / b;}var result = divide(5, 3);console.log(result); // 输出结果为1.6666666666666667```二、逻辑运算函数1. 与运算函数:JavaScript中的与运算函数可以用来判断多个条件是否同时满足。
8个常用的javascript比较运算符常用的JavaScript比较运算符在JavaScript中,比较运算符是用来比较两个值的大小或相等性的操作符。
常用的JavaScript比较运算符有8个,分别是:等于(==)、全等(===)、不等于(!=)、不全等(!==)、大于(>)、小于(<)、大于等于(>=)、小于等于(<=)。
下面将逐个介绍这些比较运算符的使用方法及其注意事项。
1. 等于(==)等于运算符用于比较两个值是否相等,如果相等则返回true,否则返回false。
需要注意的是,等于运算符会自动进行类型转换,因此在比较过程中会先将两个值转换为相同的类型再进行比较。
例如,1 == '1'会返回true,因为它们在转换为数字类型后是相等的。
2. 全等(===)全等运算符也用于比较两个值是否相等,但它不会进行类型转换,只有在值的类型和值都相等的情况下才会返回true。
例如,1 === '1'会返回false,因为它们的类型不同。
3. 不等于(!=)不等于运算符用于比较两个值是否不相等,如果不相等则返回true,否则返回false。
与等于运算符类似,不等于运算符也会进行类型转换。
例如,1 != '1'会返回false,因为它们在转换为数字类型后是相等的。
4. 不全等(!==)不全等运算符用于比较两个值是否不相等,不同于全等运算符,它不会进行类型转换。
只有在值的类型和值都不相等的情况下才会返回true。
例如,1 !== '1'会返回true,因为它们的类型不同。
5. 大于(>)大于运算符用于比较两个值的大小,如果第一个值大于第二个值则返回true,否则返回false。
需要注意的是,大于运算符只能用于比较数字类型的值,对于字符串类型的值会先将其转换为数字再进行比较。
例如,2 > 1会返回true,'2' > '1'也会返回true。
JavaScript中的特定函数1. 函数的概念和定义函数是一组可重用的语句块,用于执行特定任务或计算结果。
它可以接受参数,执行代码,并返回一个值。
在JavaScript中,函数是一种特殊的对象,可以被调用和传递。
函数的定义有两种方式:a. 函数声明:function functionName(parameter1, parameter 2, ...) {// 函数体// 执行代码的语句块return result;}函数声明以关键字function开始,后跟函数名称和参数列表,参数用括号括起来并用逗号分隔。
函数体包含一组语句块,用于执行代码。
最后,通过关键字return 返回一个可选的结果。
b. 函数表达式:var functionName = function(parameter1, parameter2, ...) {// 函数体// 执行代码的语句块return result;};函数表达式通过将函数字面量赋值给变量来定义函数。
函数表达式可以匿名(没有函数名称)或具名(有函数名称)。
2. 函数的用途函数在编程中起着至关重要的作用,可以提高代码的重用性和可维护性,减少冗余代码,使代码更模块化和可扩展。
以下是函数常见的用途:a. 重复执行一段代码当某个代码块需要多次执行时,可以将其封装在一个函数中,并通过调用该函数来实现代码的重复执行。
b. 封装代码将功能相关的代码段封装在一个函数中,可以提高代码的可读性和可维护性。
通过函数名称可以清楚地表达代码的意图。
c. 参数传递函数可以接受参数,从而使得代码更加灵活和可定制。
参数可以是任何类型,包括基本数据类型和对象。
d. 返回值函数可以通过关键字return返回一个值,该值可以被调用者使用。
返回值可以是任何类型的数据。
3. 函数的工作方式a. 函数调用要执行函数中的代码,需要调用该函数。
函数可以被直接调用或通过变量间接调用(函数表达式)。
// 函数声明方式function greet(name) {console.log('Hello, ' + name + '!');}greet('John'); // 直接调用函数// 函数表达式方式var greet = function(name) {console.log('Hello, ' + name + '!');};greet('John'); // 通过变量间接调用函数b. 传递参数函数可以接受参数,在调用函数时将实际值传递给参数。
在JavaScript中,"集合"(Set)是一种特殊的数据结构,它类似于数组,但成员的值都是唯一的,没有重复的值。
以下是使用JavaScript集合的一些基本方法:1.创建集合:可以使用new Set()来创建一个新的集合。
let mySet = new Set();2.添加元素:使用add()方法来添加元素到集合中。
mySet.add(1); // 添加单个元素mySet.add([1, 2, 3]); // 添加数组元素,数组中的每个元素都将作为单独的元素添加到集合中3.检查元素是否存在:使用has()方法来检查一个元素是否存在于集合中。
console.log(mySet.has(1)); // 输出:true 或 false,取决于1是否已经在集合中4.删除元素:使用delete()方法来删除集合中的一个元素。
mySet.delete(1); // 删除元素15.遍历集合:可以使用for...of循环或者keys()、values()、entries()等方法来遍历集合。
for (let item of mySet) {console.log(item); // 输出集合中的每个元素}// 或者使用迭代器方法:for (let item of mySet.keys()) {console.log(item); // 输出集合中的每个元素}for (let item of mySet.values()) {console.log(item); // 输出集合中的每个元素}for (let [key, value] of mySet.entries()) {console.log(key, value); // 输出集合中的每个元素及其对应的键(在Set 中,键就是元素本身)}6.清空集合:使用clear()方法来清空集合中的所有元素。
mySet.clear(); // 清空集合。
js对函数的说明1.函数的定义及特点在JavaScript中,函数可以定义为一组指令及逻辑结构,用于完成特定的任务。
函数一般由关键字function开头,后面紧跟函数名,参数用括号括起来,参数之间用逗号分隔,然后是函数体,最后用return语句返回一个值。
函数的定义形式如下:```javascriptfunction functionName(parameter1, parameter2, …, parameterN){//执行的操作return result;}```其中,functionName是函数名,parameter1、parameter2、…、parameterN是参数,可以为0个或多个,result是返回值,可以为0个或1个。
函数的特点主要有以下几点:- 函数是一段可重复使用的代码块。
通过调用函数可以减少代码冗余,提高代码的可维护性和复用性。
- 函数的执行结果可以用return语句返回,可以作为表达式的值参与运算。
- 函数具有局部作用域,函数内部定义的变量在函数外部是无法访问的,保证了函数的封装性。
- 函数可以作为参数传递给其他函数,也可以作为返回值返回给其他函数,实现函数的组合和复合。
- 函数可以递归调用自己,实现较复杂的计算和算法。
2.函数的调用方式JavaScript中函数的调用方式分为三种:函数调用、方法调用和构造函数调用。
2.1 函数调用函数调用是最基本的调用方式,可以通过函数名直接调用函数。
函数调用语法如下:```javascriptfunctionName(argument1, argument2, …, argumentN);```其中,argument1、argument2、…、argumentN是实参,传入函数内部的参数值。
下面是一个简单的例子:```javascriptfunction add(a, b) {return a + b;}var result = add(1, 2);```add函数接收两个参数a和b,返回两个参数相加的结果。
js正则表达式常⽤函数详解⼀、js正则表达式之replace函数⽤法:函数功能:replace函数返回根据正则表达式进⾏⽂字替换后的字符串的复制。
函数格式:stringObj.replace(rgExp, replaceText)参数:字符串stringObj,rgExp正则表达式,replaceText所替换的内容本模块涉及的内容包括字符串创建,正则表达式隐式创建对象,创建正则表达式,进⾏replace⽅法的使⽤匹配⽰例代码:<html><script language="javascript" type="text/javascript">//要替换的字符串的内容var objStr=new String("Designed By Androidyue");//隐式创建正则表达式对象var reG=/e/w?/g;//全局匹配(g为全局匹配参数),匹配e或者e?内容var re=/e/w?/;//没有指定参数,值进⾏⼀次匹配with(document){write("进⾏匹配前的字符串"+objStr+"<br>");write("进⾏了全局匹配的字符串"+objStr.replace(reG,"**")+"<br>");write("进⾏匹配,没有指定参数值进⾏⼀次匹配"+objStr.replace(re,"××"));}</script></html>⼆、js正则表达式之test函数⽤法功能介绍:该⽅法的返回值是布尔值,通过该值可以匹配字符串中是否存在于正则表达式相匹配的结果,如果有匹配内容,返回ture,如果没有匹配内容返回false,该⽅法常⽤于判断⽤户输⼊数据的合法性,⽐如检验Email的合法性基本语法:objReg.test(objStr)objReg 必选项 RegExp对象名称objStr 要进⾏匹配检测的字符串⽰例代码:<html><script language="javascript" type="text/javascript">/*Designed By Androidyue*//*功能:检测Email地址的合法性*/function checkEmail(){//获取⽂本框中⽤户输⼊Email的信息var objStr=document.getElementById("email").value;//设置匹配Email的正则表达式var objReg=//w+[@]{1}/w+[.]/w+/;//document.write(objStr);//如果判断字符串中是否存在匹配内容,如果存在提⽰正确信息,否则返回错误if(objReg.test(objStr)){alert("该Email地址是合法的!");}else{alert("该Email地址是⾮法的!");}}</script><body>请输⼊Email地址:<input type="text" id="email"><!--设置Email输⼊框--><input type="button" value="检测合法性" onclick="checkEmail()"><!--设置按钮⽤于出发检测Email合法性事件--></body></html>三、js正则表达式之match函数⽤法函数功能:使⽤正则表达式模式对字符串执⾏查找,并将包含查找的结果作为数组返回函数格式:stringObj.match(rgExp) stringObj为字符串必选 rgExp为正则表达式必选项返回值:如果能匹配则返回结果数组,如果不能匹配返回null<html><script language="javascript" type="text/javascript">//使⽤正则表达式模式对字符串执⾏查找,并将包含查找的结果作为数组返回var objStr=new String("Yue I love you till the end of my life!");var re=//wo(/w+)?/g;//该表达式⽤来匹配⼀个以/w代表的字符,第⼆个字符是o,后⾯有⼀个字符或者多个字符+表⽰前⾯的字符匹配的次数,全局匹配var arr=objStr.match(re);//调⽤match⽅法匹配字符串并且如果存在返回数组,如果没有结果返回为nulldocument.write("匹配前的字符串:"+objStr+"<br>");//输出匹配前的字符串if(arr!=null){//如果能匹配成功即arr数组不为空,循环输出结果for(var i=0;i<arr.length;i++){document.write("<li>"+arr[i]);}}</script></html>四、js正则表达式之search⽅法讲解功能:返回与正则表达式查找内容匹配的第⼀个⼦字符串的位置语法:stringObj.search(rgExp) stringObj 必选项 rgExp正则表达式返回值:search ⽅法指明是否存在相应的匹配。
js中常用的函数JavaScript是一种广泛使用的编程语言,它具有许多常用的函数,这些函数可以帮助开发人员更轻松地完成任务。
在本文中,我们将介绍一些常用的JavaScript函数。
1. alert()alert()函数用于在浏览器中显示一个警告框,通常用于向用户显示一些重要的信息。
例如,当用户忘记填写必填字段时,可以使用alert()函数来提醒他们。
2. prompt()prompt()函数用于在浏览器中显示一个提示框,通常用于向用户询问一些信息。
例如,当用户需要输入他们的姓名时,可以使用prompt()函数来获取这些信息。
3. console.log()console.log()函数用于在浏览器的控制台中输出一些信息,通常用于调试JavaScript代码。
例如,当开发人员需要查看变量的值时,可以使用console.log()函数来输出这些值。
4. parseInt()parseInt()函数用于将字符串转换为整数。
例如,当开发人员需要将用户输入的字符串转换为数字时,可以使用parseInt()函数来完成这个任务。
5. parseFloat()parseFloat()函数用于将字符串转换为浮点数。
例如,当开发人员需要将用户输入的字符串转换为小数时,可以使用parseFloat()函数来完成这个任务。
6. Math.random()Math.random()函数用于生成一个随机数。
例如,当开发人员需要在游戏中生成一个随机数时,可以使用Math.random()函数来完成这个任务。
7. Math.round()Math.round()函数用于将一个数字四舍五入为最接近的整数。
例如,当开发人员需要将一个小数四舍五入为整数时,可以使用Math.round()函数来完成这个任务。
8. String.fromCharCode()String.fromCharCode()函数用于将Unicode编码转换为字符。
javascript函数的⼏种写法集合1.常规写法1function fnName(){2 console.log("常规写法");3 }2.匿名函数,函数保存到变量⾥1var myfn = function(){2 console.log("匿名函数,函数保存到变量⾥");3 }3.如果有多个变量,可以⽤对象收编变量3.1 ⽤json对象1var fnobject1={2 fn1:function(){3 console.log("第⼀个函数");4 },5 fn2:function(){6 console.log("第⼆个函数");7 },8 fn3:function(){9 console.log("第三个函数");10 }11 }3.2 声明⼀个对象,然后给它添加⽅法1var fnobject2 = function(){};2 fnobject2.fn1 = function(){3 console.log("第⼀个函数");4 }5 fnobject2.fn2 = function(){6 console.log("第⼆个函数");7 }8 fnobject2.fn3 = function(){9 console.log("第三个函数");10 }3.3 可以把⽅法放在⼀个对象函数⾥1var fnobject3 = function(){2return {3 fn1:function(){4 console.log("第⼀个函数");5 },6 fn2:function(){7 console.log("第⼆个函数");8 },9 fn3:function(){10 console.log("第三个函数");11 }12 }13 };4.可⽤类来实现,注意类的第⼆种和第三种写法不能混⽤,否则⼀旦混⽤,如在后⾯为对象的原型对象赋值新对象时,那么他将会覆盖掉之前对prototype对象赋值的⽅法4.1 第⼀种写法1var fnobject4 = function(){2this.fn1 = function(){3 console.log("第⼀个函数");4 }5this.fn2 = function(){6 console.log("第⼆个函数");7 }8this.fn3 = function(){9 console.log("第三个函数");10 }11 };4.2 第⼆种写法1var fnobject5 = function(){};2 fnobject5.prototype.fn1 = function(){3 console.log("第⼀个函数");4 }5 fnobject5.prototype.fn2 = function(){6 console.log("第⼆个函数");7 }8 fnobject5.prototype.fn3 = function(){9 console.log("第三个函数");10 }4.3 第三种写法1var fnobject6 = function(){};2 fnobject6.prototype={3 fn1:function(){4 console.log("第⼀个函数");5 },6 fn2:function(){7 console.log("第⼆个函数");8 },9 fn3:function(){10 console.log("第三个函数");11 }12 }4.4 第四种写法var fnobject7 = function(){};fnobject7.prototype={fn1:function(){console.log("第⼀个函数");return this;},fn2:function(){console.log("第⼆个函数");return this;},fn3:function(){console.log("第三个函数");return this;}}5.对Function对象类的扩展(下⾯三种只能⽤⼀种) 5.1 第⼀种写法(对象)1 Function.prototype.addMethod = function(name,fn){2this[name] = fn;3 }4var methods=function(){};//var methods=new Function();5 methods.addMethod('fn1',function(){6 console.log("第⼀个函数");7 });8 methods.addMethod('fn2',function(){9 console.log("第⼆个函数");10 });11 methods.addMethod('fn3',function(){12 console.log("第三个函数");13 });5.2 链式添加(对象)1 Function.prototype.addMethod = function(name,fn){2this[name] = fn;3return this;4 }5var methods=function(){};//var methods=new Function();6 methods.addMethod('fn1',function(){7 console.log("第⼀个函数");8 }).addMethod('fn2',function(){9 console.log("第⼆个函数");10 }).addMethod('fn3',function(){11 console.log("第三个函数");12 });5.3 链式添加(类)Function.prototype.addMethod = function(name,fn){ this.prototype[name] = fn;return this;}var Methods=function(){};//var methods=new Function(); methods.addMethod('fn1',function(){console.log("第⼀个函数");}).addMethod('fn2',function(){ console.log("第⼆个函数"); }).addMethod('fn3',function(){ console.log("第三个函数"); });。
js函数和数组总结JavaScript函数1. 函数的定义函数名称只能包含字母、数字、下划线或$,且不能以数字开头。
定义时可⽤函数定义表达式或者函数声明语句。
var f = function fact(x){}函数定义表达式包含名称,名称将作为函数的局部变量,在函数内部使⽤,代指函数。
函数声明语句不是真正的语句,不能出现在循环、条件、try/catch/finally以及with语句中;声明语句置于在不会执⾏到的位置,仍可被整个作⽤域可访问,可在被定义代码之前使⽤。
定义表达式的变量声明被提前了,但是对变量赋值不会提前,函数在被定义之前⽆法使⽤,否则调⽤时会出现错误:"TypeError: undefined is not a function"return语句没有⼀个与之相关的表达式,则它返回undefined值;如果⼀个函数不包含return语句,那它只执⾏函数体内语句,并返回undefined给调⽤者;没有返回值的函数,有时称为过程。
2. 函数执⾏函数执⾏的⼏种⽅式,当作函数、⽅法、构造函数、间接调⽤。
如果构造函数没有形参,可以省略实参列表和圆括号,调⽤函数传实参有间隔时,可⽤null或undefined占位符替代空⽩的参数。
构造函数返回值情况function MyClass(name) { = name;return name; // 构造函数的返回值?}var obj1 = new MyClass('foo');// MyClass对象var obj2 = MyClass('foo');// ‘foo’var obj3 = new MyClass({});// {}var obj4 = MyClass({});// {}3. 实参对象实参对象是类数组对象,可⽤arguments.callee递归调⽤,如果你把参数命名为arguments,那么这个参数就会覆盖它原有的特殊变量。
js集合排序函数在JavaScript中,可以使用`Array`对象的排序方法来对集合进行排序。
以下是一些常用的排序函数:1. 数字排序(升序):```javascriptlet nums = [3, 1, 5, 2, 4];nums.sort((a, b) => a - b);console.log(nums); // [1, 2, 3, 4, 5]``2. 数字排序(降序):```javascriptlet nums = [3, 1, 5, 2, 4];nums.sort((a, b) => b - a);console.log(nums); // [5, 4, 3, 2, 1]```3. 字符串排序(按字母顺序):```javascriptlet names = ['John', 'Alice', 'Bob', 'David'];names.sort();console.log(names); // ['Alice', 'Bob', 'David', 'John']```4. 字符串排序(按长度升序):```javascriptlet names = ['John', 'Alice', 'Bob', 'David'];names.sort((a, b) => a.length - b.length);console.log(names); // ['Bob', 'John', 'Alice', 'David']```5. 自定义排序规则:```javascriptlet students = [{ name: 'John', age: 21 },{ name: 'Alice', age: 19 },{ name: 'Bob', age: 20 }];students.sort((a, b) => a.age - b.age);console.log(students);// [// { name: 'Alice', age: 19 },// { name: 'Bob', age: 20 },// { name: 'John', age: 21 }// ]```在自定义排序规则中,可以根据对象的某个属性进行排序,如上例中的`age`属性。
·字符串(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!" ){ } //结果: trueif( aString == bString ){ } //结果: trueif( aString === bString ){ } //结果: false (两个对象不同,尽管它们的值相同)6.检索字符串var myString = "hello everybody.";// 如果检索不到会返回-1,检索到的话返回在该串中的起始位置if( myString.indexOf("every") > -1 ){ } //结果: true7.查找替换字符串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); //结果: 1i = parseFloat(str); //结果: 1.0//注意: parseInt,parseFloat会把一个类似于"32G"的字符串,强制转换成323.判断是否为有效的数字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 156.组合与分解数组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); //getuser.uid = "newuser"; //setuser.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 somethingclearTimeout(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 = ( erAgent.indexOf("Win") != -1 );var isMac = ( erAgent.indexOf("Mac") != -1 );var isUnix = ( erAgent.indexOf("X11") != -1 );4.判断是否支持某对象,方法,属性//当一个对象,方法,属性未定义时会返回undefined或null等,这些特殊值都是false if( document.images ){ }if( document.getElementById ){ }5.检查浏览器当前语言if( erLanguage ){ var l = erLanguage.toUpperCase(); }6.检查浏览器是否支持Cookiesif( navigator.cookieEnabled ){ }//-----------------------------------------------------------------------·控制浏览器窗口( window )1.设置浏览器的大小window.resizeTo(800, 600); //将浏览器调整到800X600大小window.resizeBy(50, -10); //在原有大小上改变增大或减小窗口大小2.调整浏览器的位置window.moveTo(10, 20); //将浏览器的位置定位到X:10 Y:20window.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.frameNamewindow.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"; = "header";newFrame.src="header.html"frag.appendChild(newFrame);newFrame = document.createElement("frame"); newFrame.id = "main"; = "main";newFrame.src="main.html"frag.appendChild(newFrame);document.getElementById("masterFrameset").rows = "50,*";。