函数:
函数,即方法。函数也是对象。
1、函数的定义
定义方式有3种:
1、函数声明语句
function 函数名([形参]) {
}
调用:函数名([实参]);
2、函数定义表达式
var 变量名/函数名 = function([形参]){
}
调用:变量名([实参])/函数名([实参]);
3、Function构造函数
var 函数名 = new Function('参数1','参数2','函数的主体内容');
调用:函数名([实参]);
注:构造韩束的最后一个参数是函数体。
注意:
1、js 中的函数没有重载,同名的函数,会被后面的函数覆盖。
2、js 中允许有不定数目的参数,后面介绍 arguments 对象
函数名的提升(了解)
JavaScript 引擎将函数名视同变量名,所以采用 function 命令声明函数时,整个函数会像变量声明一样,被提升到代码头部。所以,下面的代码不会报错
但是,如果采用赋值语句定义函数,JavaScript 就会报错。
函数的参数、调用和return
参数
函数运行的时候,有时需要提供外部数据,不同的外部数据会得到不同的结果,这种外部
数据就叫参数,定义时的参数称为形参,调用时的参数称为实参
1、实参可以省略,那么对应形参为 undefined
2、若函数形参同名(一般不会这么干):在使用时以最后一个值为准。
3、可以给参数默认值:当参数为特殊值时,可以赋予默认值。
4、参数为值传递,传递副本 ;引用传递时传递地址,操作的是同一个对象
函数的调用
1、常用调用方式:函数名([实参]);
存在返回值可以变量接收,若接收无返回值函数则为 undefined
2、函数调用模式
3、方法调用模式
4、call()和apply()
注:谁调用函数,this就指向谁
匿名函数立即调用
(1)匿名函数:function ([参数]){}
(2)调用:(function ([形参]) {})([实参]);
在函数只被使用一次的情况下可以使用这种方式,简便省事
return 语句
函数的执行可能会有返回值,需要使用 return 语句将结果返回。return 语句不是必需的,
如果没有的话,该函数就不返回任何值,或者说返回 undefined。
作用:在没有返回值的方法中,用来结束方法。
有返回值的方法中,一个是用来结束方法,一个是将值带给调用者。
arguments 对象和函数的方法及属性
arguments对象可以得到函数的实参数量
函数名.name 得到函数名称
函数名.length 得到函数的形参数量
函数名.toString() 得到函数的源码
函数的作用域
函数作用域:全局(global variable)和局部(local variable)
1)全局变量与局部变量同名问题
2)在函数中定义变量时,若没有加 var 关键字,使用之后自动变为全局变量
3)变量作用域提升
博客围绕JavaScript函数展开,介绍了函数的定义、参数、调用和return,还提及arguments对象可获取实参数量,以及函数的方法和属性。此外,阐述了函数作用域,包括全局和局部变量,分析了同名变量问题、未加var关键字的变量情况及变量作用域提升。
4万+

被折叠的 条评论
为什么被折叠?



