函数基础
写在前面:今天我将发表函数基础、对象基础、this、new、封装、封装例子 这几篇个人理解文章。最好能一口气看完,并自己写下,相信会对想要理解函数和对象的朋友们会有一些帮助,这些仅仅只是基础,后面还有的原型链理解、闭包都是基础,都是为了更好的理解面向对象概念。
目录:函数的三种声明方式、 函数的return、 函数形参和实参的区别、 函数注意
函数的三种声明方式:
1、自定义函数:
function f1(){ alert("asd"); }
调用方式: 函数名 f1();
特点: (1)函数声明的函数在JS预解析的时候,会提升到作用域的最前面
(2)函数声明中的函数,可以在声明之前调用
2、匿名函数(函数表达式):
var f1=function(){ console.log("465"); };
调用方式: 变量名() f1();
特点:(1)函数表达式的函数必须在函数表达式之后调用。
3、自执行函数:
//第一种: (function(){ console.log("f1"); }()); //第二种: (function(){ console.log("f2"); })();
特点:(1)没有名字,一次性用品,立即运行
(2)避免了函数名的冲突
函数的return:
函数里是默认有return值的,可以写也可以不写。 不写,默认最后有个return undefined;
function f1(){} console.log(f1());//打印出undefined
函数里的return是可以跳出这个函数的,没有return的函数默认最后有个return
注意:若函数里有for循环,那么for循环里的return也是能跳出这个函数的。
例子:
function f1(){ for(var i=0;i<10;i++){ console.log(i); return; } console.log("asd"); } f1();
//结果只打印了一个 1
函数的形参和实参的区别:
形参,顾名思义,形式上的参数。
实参,顾名思义,实际上的参数。
形参是自定义函数里的参数,实参是调用函数时用的参数。很多人都搞混了这两个东西。
函数注意:
函数没有重载。若想使用类似重载的功能
可以用arguments来实现