JavaScript 函数
Posted 一朵花花
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript 函数相关的知识,希望对你有一定的参考价值。
函数
语法格式
创建函数
// 创建函数 / 函数声明 / 函数定义
function 函数名(形参列表)
函数体
return 返回值;
函数调用
函数定义并不会执行函数体内容,必须要调用才会执行,调用几次就会执行几次
函数名(实参列表) // 不考虑返回值
返回值 = 函数名(实参列表) // 考虑返回值
举例:
function huahua()
console.log("huahua加油~");
调用之后:
huahua();
function huahua()
console.log("huahua加油~");
函数的定义和调用的先后顺序没有要求 (这一点和变量不同,变量必须先定义再使用)
参数个数
实参和形参之间的个数可以不匹配,但是实际开发一般要求形参和实参个数要匹配
- 若实参个数比形参个数多,则多出的参数不参与函数运算
function sum(num1,num2)
return num1 + num2;
var ret1 = sum(1,6,1);
console.log(ret1);
- 若实参个数比形参个数少,则多出来的形参值为 undefined
function sum(num1,num2)
return num1 + num2;
var ret2 = sum(6);
console.log(ret2);
1 + undefined 得到: NaN
函数表达式
函数内默认的内置对象 arguments,可以使用其获取动态传入的参数列表
function sum()
let ret = 0;
for(let i=0; i<arguments.length; i++)
ret += arguments[i];
return ret;
console.log(sum(11,55));
console.log(sum(9,5,2,6));
作用域
全局作用域: 在整个 script 标签中,或者单独的 JS 文件中生效
局部作用域 / 函数作用域: 在函数内部生效
// 全局变量
var i = 10;
function a()
// 局部变量
var i = 20;
console.log(i); //20
a();
console.log(i); //10
if(1 < 2)
var m = 1;
let n = 2;
console.log(m);
console.log(n);
var 在条件 / 控制等控制语句中定义,外边还能使用
let 只对本控制语句作用域有效
总结
var | let | |
---|---|---|
函数内定义 | 函数外不可见 | 函数外不可见 |
条件、循环控制语句中定义 | 外部可见 | 外部不可见 |
let 的作用域只能在花括号内
作用域链
- 函数可以定义在函数内部
- 内层函数可以访问外层函数的局部变量.
- 内部函数可以访问外部函数的变量,采取的是链式查找的方式,从内到外依次进行查找
以上是关于JavaScript 函数的主要内容,如果未能解决你的问题,请参考以下文章