标签:
定义:
1 /** 2 * 函数表达式 3 * 4 * Function() 构造函数 5 * 6 * 函数提升(Hoisting) 7 * JavaScript默认将当前作用域提升到前面去 8 * Hoisting应用在变量的声明和函数的声明 9 * 【使用表达式定义函数时无法提升】 10 * 11 * 自调用函数 12 * 13 * 函数是对象*/
1 //函数表达式储存在变量中 2 var x = function () { return ‘message‘; }; 3 4 console.log(x()); 5 6 /** 7 以上函数实际上是一个 匿名函数 (函数没有名称)。 8 函数存储在变量中,不需要函数名称,通常通过变量名来调用。 9 上述函数以分号结尾,因为它是一个执行语句。 10 */
1 //不建议。在 JavaScript 中,很多时候,你需要避免使用 new 关键字。 2 var myFunction = new Function(‘a‘, ‘b‘, ‘return a*b‘); 3 console.log(myFunction(3, 4));
1 //函数提升 2 //在函数声明之前调用 3 myFunction(); 4 5 function myFunction() { 6 console.log(233); 7 }
1 //自调用函数,是一个表达式,有括号把表达式括起来 2 (function () { 3 console.log(‘Hello‘); //我将调用我自己 4 })();
1 //函数是对象,函数有属性和方法 2 console.log(typeof(function add() {})); //function 3 4 //arguments.length 属性返回函数调用过程接收到的参数个数 5 //arguments是JavaScript的内置对象 6 function myFunction(a, b){ 7 console.log(arguments.length); 8 } 9 10 myFunction(1, 2); //2 11 myFunction(); //0 12 myFunction(‘test‘); //1 13 14 //总结: 15 //函数定义作为对象的属性,称之为对象方法。 16 //函数如果用于创建新的对象,称之为对象的构造函数。
(九)JavaScript之【JS函数(定义、参数、调用、【闭包】)】[较深,胆小勿进]
标签:
原文地址:http://www.cnblogs.com/lqcdsns/p/5351184.html