- A+
所属分类:Web前端
函数:定义函数
定义方式
第一种定义方式:可在后面定义前面调用.
function gg(){ console.log("函数内部的代码"); }
第二种定义方式:必须先定义后面执行
// b();//报错 -- let定义的函数不可以提前调用 let b = function(){ console.log("这是函数b"); }; //只能在定义之后调用 b();
函数表达式
通常我们需要定义函数之后,再才能用 函数名() 的形式自执行,函数表达式可以直接在后面加小括号自执行执行。
(function(){ console.log("函数内部代码"); })(); //其他的函数表达式写法 (function(){ console.log("函数表达式自执行2"); }()); +function(){ console.log("函数表达式自执行3"); }(); -function(){ console.log("函数表达式自执行4"); }(); ~function(){ console.log("函数表达式自执行5"); }(); !function(){ console.log("函数表达式自执行6"); }(); //轮播图 (function(){ })(); //选项卡 (function(){ })(); //侧边栏 (function(){ })();
有名函数与匿名函数
//有名函数 function gg(){ console.log("函数内部的代码"); }*/ //函数自执行 gg(); //匿名函数 //充当事件函数 document.onclick = gg; //充当事件函数的时候,可以用函数名字,也可以直接写一个匿名函数 document.onclick = function (){ console.log("这是一个匿名函数"); };
函数的作用域
一个变量起作用的区域:全局变量(全局作用域),局部变量(局部作用域)
作用域链:要使用某个变量的时候,先从自身作用域开始查找,自己有就用自己的,自己没有再从父级作用域开始查找,依次类推,直到全局为止。
let a = 10; function x(){ let a = 20; function y(){ console.log(a); } y(); } x(); console.log(a);
参数
实参 形参 不定参
实参:函数自执行时,小括号里面传入的数据;形参:函数定义时,小括号里面写的变量名;不定参:函数内部的伪数组,用于存储着所有的实参集合;
//功能函数:求和 function sum( a,b ){ //形参 console.log(a,b,a + b); } sum( 3 , 4 );//实参 sum( 3 , 5 );//实参 sum( 3 , 10 );//实参 //实参多 -- 没有对应的形参来接收多的,但是正常运行不会出错 sum( 5 , 6 , 7 ); //实参少 -- 没有对应数据的形参就是默认值undefined sum( 2 );