函数其实就是抽取写好的js代码,作为一个通用的代码块

作用:减少代码冗余,方便调用(提高效率),便于维护

//js有哪些函数(带括号的就是函数)
1.系统函数
系统自带的函数例如:alert()

2.内置函数
Math.pow()//Math对象的内置函数

3.自定义函数
自己写的函数,先书写--后调用//没有调用是不会执行的
函数蛀牙依赖于function关键字进行定义,一般函数名以fn开头

//自定义函数的使用;
//三种声明方式
1.第一种
function 函数名(参数1,参数2....){
    函数体(需要进行的操作)
}
//例.
function showMassage(){//函数定义
    console.log('hello function')
}
showMassage()//调用

2.第二种
var fn = function (){//fn是一个变量名,表示当前fn就是表示当前函数
	console.log('hello function')
}

3.第三种----使用new的方式不常用---凡是使用new的都是object
var fnObj = new Function('console.log"hello function"')
fnObj

函数名和变量接收函数的区别
使用function

使用变量名接收函数


在初始状态,页面进行加载时,js会优先加载function以及对应变量命名,但是不会加载变量赋值的过程

return 关键字 

//return关键字
//return关键字是用于函数里面返回数据的   没有数据返回,默认返回undefined
//当方法运行到时,return会结束整个方法

//函数的参数可以不写,具体看对应的参数有没有被使用的到(即形参不使用可以省略这个参数传递)

作用域:

//变量作用域		变量分为全局变量和局部变量
//放在function里面声明的变量,作用域只存于function 
//全局变量可以作用于全局,但局部变量只能作用于其本身作用域
//全局变量可以在局部进行更改,但局部变量不能在全局进行更改
//作用域链
//函数的嵌套
function fn1(){
	function fn2(){
		function fn3(){
			function fn4(){

			}
		}
	}
}
//关于函数嵌套,如果只调用了最外层的function 那么不会自动调用内层的function
//当内层不包含这个变量,他会逐层向上去找这个变量,这个逐层向上的过程就叫做作用域链
//作用域就是一个变量的作用的区域
//

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐