重要 使用的场景最广泛解决代码重复的问题
function 变量名 () {
}变量名 () ;
1.定义函数
//function 关键字定义function 自定义函数名 ( ) {
代码 ;
} ;
//通过字面量方式定义var 自定义函数名 = function () {
代码 ;
}
2.函数参数
function 自定义函数名 (变量 ) {
代码 ;
for ( var i = 1 ; i <= 变量 ; i++ ) {
?
}
} ;
//调用自定义函数名 (遍历赋值) ;
形参:在定义函数的时候 ;函数名后面的小括号里的变量就叫形参 , 本质就是一个变量 ; 但是不需要var定义
function 自定义函数名 ( 形参 ) {
代码 ;
} ;
实参: 在调用函数的时候 ; 函数后面的小括号里的值就叫实参
function 自定义函数名 ( 形参 ) {
代码 ;
} ;
自定义函数名 ( 实参 ) ;
总结
形参
1.函数中的形参可以是0个或者多个
2.如果函数中有多个形参用逗号隔开
function 自定义函数名 (形参 ,形参,形参 ) {
代码 ;
} ;
3.形参可以是任意一种类型(变量 ,数组 ,函数……)
实参
1.函数中的实参可以是0个或者多个
2.函数有几个形参 就要有对应的几个实参,(实参就是给形参赋值的)
3.函数的返回值
函数内部形成了局部作用域只能在当前的作用域中使用
返回一个结果, 函数中返回一个结果
为什么要有返回值
如果希望在函数外部使用函数内部定义的变量的值, 那么必须使用返回值,否则会报错
返回值的使用
1.在希望在函数外部使用值或者变量前加 return 关键字即可
function fn ( ) {
var a = [1,2,3 ] ;
return a ;
}
2.在调用函数的时候, 定义一个变量接受函数中的返回值
function fn ( ) {
var a = [1,2,3 ] ;
return a ;
}
var a = fn ( ) ;document.write ( a ) ;
3.形参的值是实参进行赋值的 ( 实参是什么类型 ,形参就是什么类型 )
函数中一次只能使用一个return, return后面的代码不会执行
return [ a, b] ;函数中如果要返回多个值 ,则可以将结果放到一个数组中,返回数组即可
return a + ‘ , ‘ + b ;
函数中如果要返回多个值 。 则可以将结果放到一个数组中 返回数组即可
函数中如果没有返回值 , 最后的结果是什么? 最后的结果为undefined
var 变量名 = 函数();等于的是(返回的值)
.1.为了解决重复的代码写多次
1.定义一个函数 (函数就像是代码的收纳盒)
function 自定义函数名 ( ) {
代码 ;
} ;
2.函数中的代码默认不会自己执行 , 如果需要执行代码 需要调用函数
//定义函数function jj ( ) {
document.write ( ‘ 你好! ‘) ;
}
//调用函数
jj ( ) ;
函数名 ( ) ;
var fn = function ( ) {
document.write ( ‘ 你好! ‘) ;
}
代码能够起作用的区域
局部作用域
在函数内部作用的区域 ,在局部作用域中定义的变量 局部变量
全局作用域
在函数外部作用的区域,在全局作用域中定语的变量叫全局变量
特点
全局作用域中定义的变量(全局变量),可以在任何作用域中使用
局部作用域中定义的变量(局部变量),只能在当前的作用域中使用
将多个作用域链到一块,形成的链状结构
作用:由于作用域链的存在可以让变量的生命周期延长
var fn = function( ) {
}匿名函数
(function fn = {
document.write( ) ;
})+();自调用函数;
1.第一个小括号 表示将整个函数作为一个整体
2.第二个小括号表示对函数的调用
3.自调用函数中依然可以设置参数
function fn ( ) {
console.log (arguments);
for (var i = 0 ; i < arguments.length ; i++) {
console.log (arguments [ i ] ) ;
//arguments遍历
}
}fn ( ‘abc‘ ,123) ;
console.log (a) ;var a = 123 ;
a的值为undefined
执行顺序:var a ;console.log (a);a = 123 ;
原文:https://www.cnblogs.com/JYTcookie/p/14001374.html