JavaScript学习--函数
1、函数定义
函数声明通常有以下几部分构成:
function子句。
函数名称。
函数所需要的参数。
函数所要执行的代码块。
return子句。函数通常会有返回值,如果某个函数没有显式的返回值,我们就会默认他的返回值为undefined。
2、参数
在定义一个函数时,往往会设定他的参数。当然也可以不设定。如果设定了,但是调用的时候忘记传参了,JavaScript引擎会自动将其参数设定为undefined。
对于传进来的参数,JavaScript是来者不拒的,所以即便我们传递的参数过多,多余的那部分也会被忽略。
JavaScript每一个函数内部都有一个arguments数组,它能返回函数所接收的所有参数,如:
function args(){
return arguments;
}
args(); //结果:[]
args(1, 2, a, true, 'hehe'); //结果:[1, 2, a, true, 'hehe']
3、预定义函数
parseInt() 函数:试图将其收到的任何输入值(通常是字符串)转化成整数类型输出,在遇到第一个异常字符串时会放弃,无论剩余的那部分字符串是否可用。
parseFloat()函数:输入值只能转换为十进制数;可以接受指数形式的数据。
isNaN()函数:可以确定某个输入值是否第一个可以参加算术运算的数字,因而可以检测parseInt()和parseFloat()的调用成功与否。
isFinite():
eval():会将其输入的字符串当做JavaScript代码来执行。尽量避免使用此函数
alert():该函数不是JavaScript核心的一部分,而是宿主环境--浏览器提供的,是一个用于显示文本的消息对话框。该函数会阻塞当前浏览器的线程,也就是说alert()窗口关闭之前,当前所有的代码都会暂停执行。因此对于一个忙碌的ajax应用程序来说,alert()通常不是一个好的选择。
4、变量的作用域(后面详谈)
5、函数也是数据
对于JavaScript来说,有一个概念对于我们日后学习至关重要----即函数是一种数据类型。由于函数也是赋值给变量的一种数据,所以函数的命名规则与一般变量相同。
6、回调函数
将函数A作为参数传给函数B,利用函数B来调用函数A。
7、自调函数
我们只需要将匿名函数定义放进一对括号中,然后外面再紧跟一对括号即可。其中,第二对括号起到的是“立即调用”的作用,同时他也是我们向匿名函数传递参数的地方,如:
(
function (name){
alert('hello'+name);
)('Jenny')
优点:不会产生全局变量。缺点:这样的函数无法重复执行,这也使得匿名自调函数最合适执行一次性的或初始化的任务。