jsmatch数学函数使用法则.docx

上传人:b****8 文档编号:10836256 上传时间:2023-02-23 格式:DOCX 页数:17 大小:20.41KB
下载 相关 举报
jsmatch数学函数使用法则.docx_第1页
第1页 / 共17页
jsmatch数学函数使用法则.docx_第2页
第2页 / 共17页
jsmatch数学函数使用法则.docx_第3页
第3页 / 共17页
jsmatch数学函数使用法则.docx_第4页
第4页 / 共17页
jsmatch数学函数使用法则.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

jsmatch数学函数使用法则.docx

《jsmatch数学函数使用法则.docx》由会员分享,可在线阅读,更多相关《jsmatch数学函数使用法则.docx(17页珍藏版)》请在冰豆网上搜索。

jsmatch数学函数使用法则.docx

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

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1