㈠ js有哪几种典型函数
第一类:常规函数
包括以下9个函数:
(1)alert函数:显示一个警告对话框,包括一个OK按钮。
(2)confirm函数:显示一个确认对话框,包括OK、Cancel按钮。
(3)escape函数:将字符转换成Unicode码。
(4)eval函数:计算表达式的结果。
(5)isNaN函数:测试是(true)否(false)不是一个数字。
(6)parseFloat函数:将字符串转换成符点数字形式。
(7)parseInt函数:将符串转换成整数数字形式(可指定几进制)。
(8)prompt函数:显示一个输入对话框,提示等待用户输入。
第二类:数组函数
包括以下4个函数:
(1)join函数:转换并连接数组中的所有元素为一个字符串。
(2)langth函数:返回数组的长度。
(3)reverse函数:将数组元素顺序颠倒。
(4)sort函数:将数组元素重新排序。
第三类:日期函数
包括以下20个函数:
(1)getDate函数:返回日期的“日”部分,值为1~31
(2)getDay函数:返回星期几,值为0~6,其中0表示星期日,1表示星期一,...,6表示星期六
(3)getHours函数:返回日期的“小时”部分,值为0~23。
(4)getMinutes函数:返回日期的“分钟”部分,值为0~59。见上例。
(5)getMonth函数:返回日期的“月”部分,值为0~11。其中0表示1月,2表示3月,...,11表示12月。见前面的例子。
(6)getSeconds函数:返回日期的“秒”部分,值为0~59。见前面的例子。
(7)getTime函数:返回系统时间。
(8)getTimezoneOffset函数:返回此地区的时差(当地时间与GMT格林威治标准时间的地区时差),单位为分钟。
(9)getYear函数:返回日期的“年”部分。返回值以1900年为基数,例如1999年为99。
(10)parse函数:返回从1970年1月1日零时整算起的毫秒数(当地时间)。
(11)setDate函数:设定日期的“日”部分,值为0~31。
(12)setHours函数:设定日期的“小时”部分,值为0~23。
(13)setMinutes函数:设定日期的“分钟”部分,值为0~59。
(14)setMonth函数:设定日期的“月”部分,值为0~11。其中0表示1月,...,11表示12月。
(15)setSeconds函数:设定日期的“秒”部分,值为0~59。
(16)setTime函数:设定时间。时间数值为1970年1月1日零时整算起的毫秒数。
(17)setYear函数:设定日期的“年”部分。
(18)toGMTString函数:转换日期成为字符串,为GMT格林威治标准时间。
(19)setLocaleString函数:转换日期成为字符串,为当地时间。
(20)UTC函数:返回从1970年1月1日零时整算起的毫秒数,以GMT格林威治标准时间计算。
第四类:数学函数
函数有以下18个:
(1)abs函数:即Math.abs(以下同),返回一个数字的绝对值。
(2)acos函数:返回一个数字的反余弦值,结果为0~π弧度(radians)。
(3)asin函数:返回一个数字的反正弦值,结果为-π/2~π/2弧度。
(4)atan函数:返回一个数字的反正切值,结果为-π/2~π/2弧度。
(5)atan2函数:返回一个坐标的极坐标角度值。
(6)ceil函数:返回一个数字的最小整数值(大于或等于)。
(7)cos函数:返回一个数字的余弦值,结果为-1~1。
(8)exp函数:返回e(自然对数)的乘方值。
(9)floor函数:返回一个数字的最大整数值(小于或等于)。
(10)log函数:自然对数函数,返回一个数字的自然对数(e)值。
(11)max函数:返回两个数的最大值。
(12)min函数:返回两个数的最小值。
(13)pow函数:返回一个数字的乘方值。
(14)random函数:返回一个0~1的随机数值。
(15)round函数:返回一个数字的四舍五入值,类型是整数。
(16)sin函数:返回一个数字的正弦值,结果为-1~1。
(17)sqrt函数:返回一个数字的平方根值。
(18)tan函数:返回一个数字的正切值。
第五类:字符串函数
包括以下20个函数:
(1)anchor函数:产生一个链接点(anchor)以作超级链接用。anchor函数设定<A NAME...>的链接点的名称,另一个函数link设定<A HREF=...>的URL地址。
(2)big函数:将字体加到一号,与<BIG>...</BIG>标签结果相同。
(3)blink函数:使字符串闪烁,与<BLINK>...</BLINK>标签结果相同。
(4)bold函数:使字体加粗,与<B>...</B>标签结果相同。
(5)charAt函数:返回字符串中指定的某个字符。
(6)fixed函数:将字体设定为固定宽度字体,与<TT>...</TT>标签结果相同。
(7)fontcolor函数:设定字体颜色,与<FONT COLOR=color>标签结果相同。
(8)fontsize函数:设定字体大小,与<FONT SIZE=n>标签结果相同。
(9)indexOf函数:返回字符串中第一个查找到的下标index,从左边开始查找。
(10)italics函数:使字体成为斜体字,与<I>...</I>标签结果相同。
(11)lastIndexOf函数:返回字符串中第一个查找到的下标index,从右边开始查找。
(12)length函数:返回字符串的长度。(不用带括号)
(13)link函数:产生一个超级链接,相当于设定<A HREF=...>的URL地址。
(14)small函数:将字体减小一号,与<SMALL>...</SMALL>标签结果相同。
(15)strike函数:在文本的中间加一条横线,与<STRIKE>...</STRIKE>标签结果相同。
(16)sub函数:显示字符串为下标字(subscript)。
(17)substring函数:返回字符串中指定的几个字符。
(18)sup函数:显示字符串为上标字(superscript)。
(19)toLowerCase函数:将字符串转换为小写。
(20)toUpperCase函数:将字符串转换为大写。
㈡ javascript怎么定义函数
1:调用关键字function来构造
functiondistance(x1,x2,y1,y2)
{
vardx=x2-x1;
vardy=y2-y1;
returnMath.sqrt(dx*dx+dy*dy);
}
2:使用Function()构造函数(请注意与上面的大小写)
1
varf=newFunction*"x","y","returnx*y");
这行代码创建了一个新函数,该函数和你所熟悉的语法定义的函数基本上时等价的:
1
2
3
4
functionf(x,y)
{
returnx*y;
}
Functino()构造函数可以接受任意多个字符串参数。它的最后一个参数时函数的主体,其中可以包含任何JavaScript语句,语句之间用分号分隔。其他的参数都是用来说明函数要定义的形式参数名的字符串。如果你定义的函数没有参数,那么可以只需给构造函数传递一个字符串(即函数的主体)即可。
注意,传递给构造函数Function()的参数中没有一个用于说明它要创建的函数名。用Function()构造函数创建的未命名函数有时被成为“匿名函数”。
你可能非常想知道Function()构造函数的用途是什么。为什么不能只用function语句来定义所有的函数呢?原因是Function()构造函数允许我们动态地建立和编译一个函数,它不会将我们限制在function语句预编译的函数体中。这样做带来的负面影响效应就是每次调用一个函数时,Function()构造函数都要对它进行编译。因此,在循环体中或者在经常使用的函数中,我们不应该频繁地调用这个构造函数。
使用Function()构造函数的另一个原因是它能够将函数定义为JavaScript表达式的一部分,而不是将其定义一个语句,这种情况下使用它就显得比较的方面,甚至可以说精致。
3:函数直接量
函数直接量是一个表达式,它可以定义匿名函数。函数直接量的语法和function语句非常相似,只不过它被用作表达式,而不是用作语句,而且也无需指定函数名。下面的三行代码分别使用function()语句、Funciont()构造函数和函数直接量定义了三个基本上相同的函数:
1
2
3
functionf(x){returnx*x};
varf=newFunction("x","returnx*x;");
varf=function(x){reurnx*x};
在JavaScript1.1中,可以使用构造函数Function()来定义函数,在JavaScript1.2和其后的版本中,还可以使用函数直接量来构造函数。你应该注意这两种方法之间的重要差别。
首先,构造函数Function()允许在运行时动态地创建和编译JavaScript代码。但是函数直接量却是函数结构的一个静态部分,就像function语句一样。
其次,作为第一个差别的必然结果,每次调用构造函数Function()时都会解析函数体并且创建一个新东汉数对象。如果对构造函数的调用出现在一个循环中,或者出现在一个经常被调用的函数中,这种方法的效率非常低。另一个方面,函数直接量或出现在循环和函数中的嵌套函数不是在每次调用时都被重新编译,而且每当遇到一个函数直接量时也不创建一个新的函数对象。
Function()构造函数和函数之间量之间的第三点差别是,使用构造函数Function()创建的函数不使用词法作用域,相反的,它们总是被当作顶级函数来编译,就像下面代码所说明的那样: