函数与Function 对象
. 函数(方法)是一组可以随时随地运行的语句
Function 对象可以表示开发者定义的任何函数
函数实际上是功能完整的对象
函数的定义
. 函数的定义
-- 由关键字function定义
-- 函数名的定义规则与标识符一致,大小写敏感
-- 可以使用变量、常量或表达式作为函数调用的参数
-- 返回值必须使用return
function 函数名(参数)
{
函数体;
return 返回值;
}
函数的调用
. 函数可以通过其名字加上括号中的参数进行调用
-- 如果有多个参数,则参数之间用逗号隔开
-- 如果函数有返回值,则可以声明变量等于函数的结果即可
function sum(iNum1,iNum2){
return iNum1 + iNum2;
}
var iResult = sum(1,1);
alert(iResult); // 输出"2"
arguments 对象
. arguments 是一种特殊对象,在函数代码中,表示函数的参数数组
. 在函数代码中,可以使用 arguments 访问所有参数
arguments.length :函数的参数个数
arguments[i]:第 i 个参数
项目案例:
模拟方法的重载
使用 arguements 模拟方法的重载
使用 Function 对象创建函数
. 可以使用 Function 对象直接创建函数
var functionName = new Function(arg1,... argN,functionBody);
例如:
var add = new Function("x","y","return(x+y);");
var result = add(2,3);
alert(result);// 5
alert(add);//弹出方法的文本
匿名函数
. 创建匿名函数
var func = function(arg1,...,argN){
func_body;
return value;
};
例如:
var add = function(x,y){
return x+y;
};
var result = add(2,3);
alert(result); //5
alert(add);// 弹出方法的文本
项目案例:
数组按数值排序
1、数组按数值排序(使用Function 对象)
2、数组按数值排序(使用匿名函数)
全局函数概述
. 全局函数可用于所有内建的JavaScript对象
. 常用的全局函数有:
parsetInt/parseFloat
isNaN
eval
decodeURI/encodeURI
encodeURI 与 decodeURI
encodeURI():把字符串作为URI进行编码
decodeURI():对encodeURI() 函数编码过的URI进行解码
例如:
var str = "http://tts6.tarena.com.cn/index.html?name=张三";
var r1=encodeURI(str);
alert(r1);
var r2=decodeURI(r1);
alert(r2);
eval 函数
. eval 函数用于计算某个字符串,以得到结果;
或者用于执行其中的 JavaScript 代码
只接受原始字符串作为参数
如果参数中没有合法的表达式和语句,则抛出异常
var str ="2+3";
alert(str);//2+3
alert(eval(str)); //5
项目案例:
简单计算器:实现简单计算器