jsmatch数学函数使用法则.docx
- 文档编号:4613646
- 上传时间:2023-05-07
- 格式:DOCX
- 页数:17
- 大小:20.41KB
jsmatch数学函数使用法则.docx
《jsmatch数学函数使用法则.docx》由会员分享,可在线阅读,更多相关《jsmatch数学函数使用法则.docx(17页珍藏版)》请在冰点文库上搜索。
jsmatch数学函数使用法则
1match()方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。
该方法类似indexOf()和lastIndexOf(),但是它返回指定的值,而不是字符串的位置。
语法
stringObject.match(searchvalue)
stringObject.match(regexp)
参数
描述
searchvalue
必需。
规定要检索的字符串值。
regexp
必需。
规定要匹配的模式的RegExp对象。
如果该参数不是RegExp对象,则需要首先把它传递给RegExp构造函数,将其转换为RegExp对象。
返回值
存放匹配结果的数组。
该数组的内容依赖于regexp是否具有全局标志g。
说明
match()方法将检索字符串stringObject,以找到一个或多个与regexp匹配的文本。
这个方法的行为在很大程度上有赖于regexp是否具有标志g。
如果regexp没有标志g,那么match()方法就只能在stringObject中执行一次匹配。
如果没有找到任何匹配的文本,match()将返回null。
否则,它将返回一个数组,其中存放了与它找到的匹配文本有关的信息。
该数组的第0个元素存放的是匹配文本,而其余的元素存放的是与正则表达式的子表达式匹配的文本。
除了这些常规的数组元素之外,返回的数组还含有两个对象属性。
index属性声明的是匹配文本的起始字符在stringObject中的位置,input属性声明的是对stringObject的引用。
如果regexp具有标志g,则match()方法将执行全局检索,找到stringObject中的所有匹配子字符串。
若没有找到任何匹配的子串,则返回null。
如果找到了一个或多个匹配子串,则返回一个数组。
不过全局匹配返回的数组的内容与前者大不相同,它的数组元素中存放的是stringObject中所有的匹配子串,而且也没有index属性或input属性。
注意:
在全局检索模式下,match()即不提供与子表达式匹配的文本的信息,也不声明每个匹配子串的位置。
如果您需要这些全局检索的信息,可以使用RegExp.exec()。
实例
例子1
在本例中,我们将在"Helloworld!
"中进行不同的检索:
varstr="Helloworld!
"
document.write(str.match("world")+"
")
document.write(str.match("World")+"
")
document.write(str.match("worlld")+"
")
document.write(str.match("world!
"))
输出:
world
null
null
world!
例子2
在本例中,我们将使用全局匹配的正则表达式来检索字符串中的所有数字:
varstr="1plus2equal3"
document.write(str.match(/\d+/g))
输出:
1,2,3
2MAX_VALUE属性是JavaScript中可表示的最大的数。
它的近似值为1.7976931348623157x10308。
语法
Number.MAX_VALUE
实例
返回JavaScript中可能的最大值:
document.write(Number.MAX_VALUE);
输出:
1.7976931348623157e+308
3max()方法可返回两个指定的数中带有较大的值的那个数。
语法
Math.max(x...)
参数
描述
x
0或多个值。
在ECMASCriptv3之前,该方法只有两个参数。
返回值
参数中最大的值。
如果没有参数,则返回-Infinity。
如果有某个参数为NaN,或是不能转换成数字的非数字值,则返回NaN。
实例
在本例中,我们将展示如何使用max()来返回指定数字中带有最高值的数字:
document.write(Math.max(5,7)+"
")
document.write(Math.max(-3,5)+"
")
document.write(Math.max(-3,-5)+"
")
document.write(Math.max(7.25,7.30))
输出:
7
5
-3
7.3
4MIN_VALUE属性是JavaScript中可表示的最小的数(接近0,但不是负数)。
它的近似值为5x10-324。
语法
Number.MIN_VALUE
实例
返回JavaScript中可能的最小值:
document.write(Number.MIN_VALUE);
输出:
5e-324
5min()方法可返回指定的数字中带有最低值的数字。
语法
Math.min(x,y)
参数
描述
x
0或多个值。
在ECMASCriptv3之前,该方法只有两个参数。
返回值
参数中最小的值。
如果没有参数,则返回Infinity。
如果有某个参数为NaN,或是不能转换成数字的非数字值,则返回NaN。
实例
在本例中,我们将展示如何使用min()来返回指定数字中带有最低值的数字:
document.write(Math.min(5,7)+"
")
document.write(Math.min(-3,5)+"
")
document.write(Math.min(-3,-5)+"
")
document.write(Math.min(7.25,7.30))
输出:
5
-3
-5
7.25
6multiline属性用于返回正则表达式是否具有标志m。
它声明了给定的正则表达式是否以多行模式执行模式匹配。
在这种模式中,如果要检索的字符串中含有换行符,^和$锚除了匹配字符串的开头和结尾外还匹配每行的开头和结尾。
例如,模式/W3School$/im匹配"w3school"和"W3School\nisgreat"。
(\n是换行符\u000A)。
如果m标志被设置,则该属性为true,否则为false。
语法
RegExpObject.multiline
实例
在下面的例子中,我们将查看正则表达式是否具有标志m:
varstr="VisitW3S";
varpatt1=newRegExp("W3","m");
if(patt1.multiline)
{
alert("Multilinepropertyisset");
}
else
{
alert("MultilinepropertyisNOTset.");
}
7NaN属性用于引用特殊的非数字值。
语法
NaN
说明
无法使用for/in循环来枚举NaN属性,也不能用delete运算符来删除它。
NaN不是常量,可以把它设置为其他值。
提示和注释
提示:
请使用isNaN()来判断一个值是否是数字。
原因是NaN与所有值都不相等,包括它自己。
实例
在本例中,我们将展示当一个数超出了infinity的限制发生的情况:
vartest1="300"
vartest2="HelloWorld!
"
document.write(Number(test1)+"
")
document.write(Number(test2)+"
")
document.write(isNaN(test1)+"
")
document.write(isNaN(test2))
输出:
300
NaN
false
true
8NaN属性是代表非数字值的特殊值。
该属性用于指示某个值不是数字。
可以把Number对象设置为该值,来指示其不是数字值。
提示:
请使用isNaN()全局函数来判断一个值是否是NaN值。
语法
Number.NaN
说明
Number.NaN是一个特殊值,说明某些算术运算(如求负数的平方根)的结果不是数字。
方法parseInt()和parseFloat()在不能解析指定的字符串时就返回这个值。
对于一些常规情况下返回有效数字的函数,也可以采用这种方法,用Number.NaN说明它的错误情况。
JavaScript以NaN的形式输出Number.NaN。
请注意,NaN与其他数值进行比较的结果总是不相等的,包括它自身在内。
因此,不能与Number.NaN比较来检测一个值是不是数字,而只能调用isNaN()来比较。
在ECMAScriptv1和其后的版本中,还可以用预定义的全局属性NaN代替Number.NaN。
提示和注释
提示:
请使用isNaN()来判断一个值是否是数字。
原因是NaN与所有值都不相等,包括它自己。
实例
用NaN指示某个值是否是数字:
varMonth=30;
if(Month<1||Month>12)
{
Month=Number.NaN;
}
document.write(Month);
输出:
Nan
9NEGATIVE_INFINITY属性表示小于Number.MIN_VALUE的值。
该值代表负无穷大。
语法
Number.NEGATIVE_INFINITY
说明
Number.NEGATIVE_INFINITY是一个特殊值,它在算术运算或函数生成一个比JavaScript能表示的最小负数还小的数(也就是比-Number.MAX_VALUE还小的数)时返回。
JavaScript显示NEGATIVE_INFINITY时使用的是-Infinity。
这个值的算术行为和无穷大非常相似。
例如,任何数乘无穷大结果仍为无穷大,任何数被无穷大除的结果为0。
在ECMAScriptv1和其后的版本中,还可以用-Infinity代替Number.NEGATIVE_INFINITY。
实例
在本例中,我们将使用NEGATIVE_INFINITY:
varx=(-Number.MAX_VALUE)*2
if(x==Number.NEGATIVE_INFINITY)
{
document.write("Valueofx:
"+x);
}
输出:
Valueofx:
-Infinity
10Number()函数把对象的值转换为数字。
语法
Number(object)
参数
描述
object
必需。
JavaScript对象。
返回值
如果参数是Date对象,Number()返回从1970年1月1日至今的毫秒数。
如果对象的值无法转换为数字,那么Number()函数返回NaN。
实例
在本例中,我们将尝试把不同的对象转换为数字:
vartest1=newBoolean(true);
vartest2=newBoolean(false);
vartest3=newDate();
vartest4=newString("999");
vartest5=newString("999888");
document.write(Number(test1)+"
");
document.write(Number(test2)+"
");
document.write(Number(test3)+"
");
document.write(Number(test4)+"
");
document.write(Number(test5)+"
");
输出:
1
0
1256657776588
999
NaN
11onerror事件
我们刚讲过如何使用try...catch声明来捕获网页中的错误。
现在,我们继续讲解如何使用onerror事件来达到相同的目的。
只要页面中出现脚本错误,就会产生onerror事件。
如果需要利用onerror事件,就必须创建一个处理错误的函数。
你可以把这个函数叫作onerror事件处理器(onerroreventhandler)。
这个事件处理器使用三个参数来调用:
msg(错误消息)、url(发生错误的页面的url)、line(发生错误的代码行)。
语法:
onerror=handleErrfunctionhandleErr(msg,url,l)
{
//Handletheerrorhere
returntrueorfalse
}
浏览器是否显示标准的错误消息,取决于onerror的返回值。
如果返回值为false,则在控制台(JavaScriptconsole)中显示错误消息。
反之则不会。
实例:
下面的例子展示如何使用onerror事件来捕获错误:
onerror=handleErr
vartxt=""
functionhandleErr(msg,url,l)
{
txt="Therewasanerroronthispage.\n\n"
txt+="Error:
"+msg+"\n"
txt+="URL:
"+url+"\n"
txt+="Line:
"+l+"\n\n"
txt+="ClickOKtocontinue.\n\n"
alert(txt)
returntrue
}
functionmessage()
{
adddlert("Welcomeguest!
")
}
12根JavaPackage。
语法
Packages
说明
在包含了LiveConnect或其他用于脚本化Java的技术的JavaScript实现中,全局Packages属性就是一个JavaPackage对象,其属性是Java解释器所知道的所有包的根。
例如,Packages.javax.swing引用的是Java包javax.swing。
全局属性java是Packages.java的简写。
13parse()方法可解析一个日期时间字符串,并返回1970/1/1午夜距离该日期时间的毫秒数。
语法
Date.parse(datestring)
参数
描述
datestring
必需。
表示日期和时间的字符串。
返回值
指定的日期和时间据1970/1/1午夜(GMT时间)之间的毫秒数。
说明
该方法是Date对象的静态方法。
一般采用Date.parse()的形式来调用,而不是通过dateobject.parse()调用该方法。
提示和注释:
注释:
Date.parse()是Date对象的静态方法。
实例
例子1
在本例中,我们将取得从1970/01/01到2005/07/08的毫秒数:
vard=Date.parse("Jul8,2005")
document.write(d)
输出:
1120752000000
例子2
现在,我们将把上面的例子所输出的结果转换成年:
varminutes=1000*60
varhours=minutes*60
vardays=hours*24
varyears=days*365
vart=Date.parse("Jul8,2005")
vary=t/years
document.write("It'sbeen:
"+y+"yearsfrom1970/01/01")
document.write("to2005/07/08!
")
输出:
It'sbeen:
35.538812785388124yearsfrom1970/01/01to2005/07/08!
14parseFloat()函数可解析一个字符串,并返回一个浮点数。
语法
parseFloat(string)
参数
描述
x
必需。
要被解析的字符串。
返回值
返回解析后的数字。
提示和注释
注释:
只有字符串中的第一个数字会被返回。
注释:
开头和结尾的空格是允许的。
提示:
如果字符串的第一个字符不能被转换为数字,那么parseFloat()会返回NaN。
提示:
如果只想解析数字的整数部分,请使用parseInt()方法。
实例
在本例中,我们将使用parseFloat()来解析不同的字符串:
document.write(parseFloat("10"))
document.write(parseFloat("10.00"))
document.write(parseFloat("10.33"))
document.write(parseFloat("344566"))
document.write(parseFloat("60"))
document.write(parseFloat("40years"))
document.write(parseFloat("Hewas40"))
输出:
10
10
10.33
34
60
40
NaN
15parseInt()函数可解析一个字符串,并返回一个整数。
语法
parseInt(string,radix)
参数
描述
string
必需。
要被解析的字符串。
radix
可选。
表示要解析的数字的基数。
该值介于2~36之间。
如果省略该参数或其值为0,则数字将以10为基础来解析。
如果它以“0x”或“0X”开头,将以16为基数。
如果该参数小于2或者大于36,则parseInt()将返回NaN。
返回值
返回解析后的数字。
说明
当参数radix的值为0,或没有设置该参数时,parseInt()会根据string来判断数字的基数。
举例,如果string以"0x"开头,parseInt()会把string的其余部分解析为十六进制的整数。
如果string以0开头,那么ECMAScriptv3允许parseInt()的一个实现把其后的字符解析为八进制或十六进制的数字。
如果string以1~9的数字开头,parseInt()将把它解析为十进制的整数。
提示和注释
注释:
只有字符串中的第一个数字会被返回。
注释:
开头和结尾的空格是允许的。
提示:
如果字符串的第一个字符不能被转换为数字,那么parseFloat()会返回NaN。
实例
在本例中,我们将使用parseInt()来解析不同的字符串:
parseInt("10");//返回10
parseInt("19",10);//返回19(10+9)
parseInt("11",2);//返回3(10+9)
parseInt("17",8);//返回15(8+7)
parseInt("1f",16);//返回31(16+15)
parseInt("010");//未定:
返回10或8
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- jsmatch 数学 函数 使用 法则
![提示](https://static.bingdoc.com/images/bang_tan.gif)