//函数的两种声明方式 //在同一个<script>标签中,函数的调用和声明位置可以没有先后的顺序,因为在同一个标签中,都是等加载到内存中,然后在运行 //但是如果是在两个script标枪中,必须是先声明,在调用。 // f1(); function f1() { console.log(‘This is a function‘); } // 匿名函数的声明与调用 // 匿名函数必须先声明然后调用。 var f2 = function (name) { console.log("I am niming function f2: " + name); } // f2(‘zhangsan‘); // js中,在函数体中调用了未赋值的形式参数,程序是不会报错的,只是替换了undefined function f3(name, age, address) { console.log("I am " + name + " age: " + age + "address: " + address); } // f3(); // 函数的声明可以不用形式参数接收变量值,可以通过arguments这个来接收。利用这个关键字,我们可以做到函数的重载 function f4() { console.log(arguments); console.log(arguments.length); } // f4(‘zhangsan‘, 23, ‘shanghai‘); // 函数自身引用callee function f5(num) { if(num == 1) { return 1; } else { return num * arguments.callee(num-1); } } // var su = f5(2); // console.log(su) // 函数返回,可以返回一个对象,函数(函数其实就是一个对象)
原文:http://www.cnblogs.com/shiwenhu/p/4918774.html