函数是利用特定语法,将一段代码打包在一起,每次调用函数就可以让这个代码块内的代码全部执行,复用代码。
要注意的是,函数跟循环不相似,循环是重复一定次数的执行代码,函数虽然可以重复执行代码,但是它很灵活,可以任意决定它调用的时机
声明函数
定义函数的两种方法
// 方法一: 函数声明 function 函数名() { // 函数体 } // 方法二: 函数表达式 let 变量名 = function() { // 函数体 } // 函数名自定义,见名知意,命名规范参照变量的命名规范。
函数体内的代码,在声明时不会执行的。必须在调用函数后,才能执行
调用函数
函数调用只需要将函数名字加括号即可,一个函数可以重复调用无数次
//例子: function fn() { console.log('无限真帅') } //函数名调用 fn();
函数的参数
函数的参数分为形式参数和实际参数,简称形参和实参:
1.形参:
在定义函数时,括号内声明的参数。形参本质就是一个变量名,用来接收外部传来的值。
// 带形参的函数声明 function 函数名(形参1,形参2,形参3等){ }
2.实参:
函数在声明时,设置了形参 那么在函数调用的时候就需要传入对应的参数, 写在函数执行括号里面的我们叫实参
方法: 函数名(实参1,实参2,实参3等); //例子: function Wux(feature){ // 解析 feature=很帅气 console.log('无限真'+feature); } // 带实参的函数执行 Wux('很帅气'); // 例子: function count(x,y){ let sum1 = x+y; console.log(sum1); } count(10,20);
-
在调用有参函数时,实参(值)会赋值给形参(变量名)
-
函数的参数只能在函数的内部进行访问
函数返回值
在函数中可以使用return语句将一个值(函数的运行结果)返回给调用函数的程序,这个值可以是任何类型。对于有返回值的函数,我们可以会使用一个变量来接收这个函数的返回值。
// 列子: // 拿到结果 count 赋值给其它量 不在里面直接打印 // 用到return返回值 function sup(x, y) { let count = x + y; return count; //手动定义return 返回 count 通过return返回函数 // return 后面内容将不会在执行了 console.log('你好'); } //函数没有返回值,用变量来接收了 let relsup = sup(41, 51); // 默认函数返回结果是undefined console.log(relsup);
匿名函数
匿名函数:省略函数名的函数。语法为:
(function (形参){ })(实参);
箭头函数
箭头函数是 es6新增方法, 写法: (形参) => {函数体}
//箭头函数写法 let fn1 = () => { console.log('我是箭头函数'); } fn1();
作用域
作用域通俗的说,是变量起作用的范围。因为每个变量都有对应的“生活环境”
JavaScript中作用域主要分为以下几种:
-
全局作用域(即script标签内的空间)
// 全局作用域 let a =10; console.log(a); //在任何地方都可以访问到的变量就是全局变量,对应全局作用域
-
函数作用域(每个函数的花括号内的部分)
// 函数作用域: function foo(){ let num = 234;//声明在函数作用域里的局部变量 console.log(num); } foo();
-
块作用域(除函数外,其他的花括号空间都是块作用域,如if的花括号)
//块级作用域 { let x = 21; console.log(x); } // 那我在外部打印 x变量 这个代码就没有意义 console.log(x);
注意: 作用域是有很多的 一层一层包裹的 变量会在作用域中一层一层往上寻找变量
本站资源均来自互联网,仅供研究学习,禁止违法使用和商用,产生法律纠纷本站概不负责!如果侵犯了您的权益请与我们联系!
转载请注明出处: 免费源码网-免费的源码资源网站 » JavaScript函数
发表评论 取消回复