1:基本结构
function 函数名(){
执行语句
}
函数名()
2:什么是函数?
函数由function关键字声明
函数就是代码块的集合;
3:函数的特点:
函数可以让代码重复使用;
函数是一个方法
4:形参,实参
实参放在函数调用里面,形参放在函数名后面,用字母代替
形参,实参的位置是一一对应,
形参,实参可以有任意多个,
形参即便没有相对应得实参,也不影响代码的执行
实参即便没有相对应得形参,也不影响代码的执行
任何数据类型都可以当做函数的实参,
5:获取实参的个数
arguments是获取实参的属性
arguments.length 获取实参的长度
arguments.length-1获取实参的最后一个数
arguments[下标] 获取每一个实参
6:获取形参的个数
function ton(a,c,s,d,n,f,s,d,e,r){
alert(ton.length)
}
ton();
7:函数的命名规则,请参看变量命名
8:函数的调用:
1:普通调用
2:输出方法中调用(在表达式中调用)
在输出方法中调用必用return关键字
return关键字后面可以跟任意值(任何东西在return,return都会返回)
被return关键字返回的值给了函数名+括号
3:事件中调用
9:关键字 return
return以下的代码不会被执行
10:display:block、none
显示/隐藏
11:变量
全局变量
可以被任何类型所有获取,所以是全局变量
声明全局变量的方式:
1:在函数外用关键字 var
2:用window对象声明也是全局变量(不分函数外还是函数内)
3:不加关键字 var 声明也是全局变量(不分函数外还是函数内)
局部变量
在函数内用关键字var声明的变量,是局部变量,局部变量只能在局部范围有效
12:变量的作用域
全局变量的作用域:
变量被声明以后,往下有作用,往上获取不到值。
局部变量的作用域:
局部变量被 var声明以后,只作用在函数内部,函数外部获取不到
13:预解析
他是一种浏览器解析js的一种机制!
浏览器解析js代码的时候,先看js里面是否有关键字 var 和 function,
有var 和 function关键字,先解析他们的代码。
关于变量的解析:
alert(a)//undefined
var a=1;
alert(a)//1
预解析,只解析到var a,后面的等号和赋值,不解析
所以,在变量上面输出变量,是一个 undefined,在下面输出,是正常的变量值
关于函数的解析:
function sum(a,b){
alert(c)//undefined
var c=1;
alert(c)//1
}
sum(1,2)
预解析函数,只先解析到花括号以前,不解析花括号里面的内容,等浏览器在整片页面代码里面
没有看见其他的 var 和 function,在回头解析花括号里面的代码
14:函数的嵌套
function a(){
var aa=1;
function b(){
function c(){
alert(aa)
}
}
b();
}
a();
15:匿名函数
var a=function(){
alert(1);
}
a();//在这这个a()就变成了方法
转载请注明原文地址:https://blackberry.8miu.com/read-7769.html