·函数定义:
var a=2; function add(i){ if(i>0){ return 1; }else{ return 2; } } add(a); console.log(add(a));
function //函数定义
add //函数名称
(i) //形参,多个形参可以用 , 隔开
{} //函数体 可以包含若干语句 也可以没有语句
add(a) //实参,是将 a 的值付给形参 i (函数调用)
注:函数内部的语句 ,执行到return时,函数执行完毕,并将结果返回。因此,函数内部通过条件判断和循环可以实现非常复杂的逻辑。
如果没有return
语句,函数执行完毕后也会返回结果,只是结果为undefined。
·第二种定义方式:(JS本身是一个对象,函数名实际上是一个函数对象,所以函数名可以视为指向该函数的变量)
var abs = function (x) { if (x >= 0) { return x; } else { return -x; } };
·函数调用
add(a) //实参,是将 a 的值付给形参 i (函数调用)传入的参数比定义的少也没有问题:
·arguments
只在函数内部起作用,并且永远指向当前函数的调用者传入的所有参数。类似Array
但它不是一个Array。
function foo(x) { for (var i=0; i<arguments.length; i++) { console.log(arguments[i]); // 10, 20, 30 } } foo(10, 20, 30);
明日持续更新。。。。。。