编程语言
首页 > 编程语言> > JavaScript day04 函数

JavaScript day04 函数

作者:互联网

函数

函数讲解

函数是什么? 函数其实就抽取写好的js代码 作为一个通用的代码块 (封装)
作用: 减少代码冗余 (过多) 方便调用 (提供效率 提高代码的可读性) 便于维护 (二次修改)
js有哪些函数
1.系统函数 2.内置函数 3.自定义函数
函数带括号就是函数 函数没有调用是不会执行的

系统函数 就是系统自带的函数 alert()

内置函数 Math.pow() 属于Math对象的函数

自定义函数 自己写的函数 需要先书写 再进行调用

函数主要依赖于function关键词进行定义 一般的函数名以fn开头
自定义函数的三种声明方式
1.第一种声明

function 函数名(参数1,参数2....){

​ 函数体(需要进行的操作)

}

function  shouMessage(){				//showMessge 就是函数名

​		console.log('hello function');	//函数体

}

 showMessage()	//调用	使用	函数名()
2.第二种声明

var 变量名 = function(){

​ 函数体

}

var fn = function(){		//fn就是一个变量名 表示当前的fn是一个函数 fn就是表示这个函数

​	console.log('hello function!!!');

} 

//调用 使用变量名()

fn()
3.第三种声明 //使用new方式 不常用 凡是使用new的都是对象
var fnObj = new Function("console.log('hello function object')");

//调用

fnObj()

函数名和变量接收函数的区别

在初始状态页面加载的时候 js会优先加载function以及对应的变量命名 但是不会加载变量赋值的过程
//使用function直接写一个函数

function fn1(){

​	console.log('我是函数1');

}
//使用变量接收一个函数

var fn2 = function(){

​	console.log('我是函数2');

}

return关键词

return关键词是用于函数里面返回数据的 没有数据的返回的话 默认返回undefined

函数的参数可以写 可以不写 具体要看对应的参数是否被使用到

在函数定义的时候里面的参数名可以随便写 因为他是一个形参

两数相加的方法

function add(number1,number2){

​	return number1+number2

}

var number3 = add 

console.log(number3)

//在调用的时候进行参数传递	传递的参数必须要为实参(实际参的参数)
当方法执行到return时 return会结束整个方法

arguments数组

function fn(){

​	//arg 参数 arguments表示的是参数数组 他具备数组的特性 可以接受用户传递的参数

​	//length属性 获取对应的长度 具备下标 获取指定的元素 (从0开始到length-1结束)

​	console.log(arguments.length); //3

}

fn(1,2,3)
//arguments可以接受任意类型的值
fn('1',null,undefined)

变量作用域

变量分为全局变量 作用域为全局和局部变量对应的代码块内(function)
代码块不包括 if switch 以及 for (声明的变量还是全局变量)
在function里面声明的变量 作用域只存在于function 对应的全局声明的变量是可以存在于全局的
全局作用域可以在局部调用 局部作用不能应用在全局
全局作用域的东西他对应的可以在局部中更改 局部作用域不能在全局更改

作用域链

函数的嵌套 : 如果你调用了最外层的function 那么是不会自动调用内层的function

找不到对应的变量就会报错

逐步向上寻找变量的过程叫做作用域链

作用域就是一个变量的作用区域

标签:function,调用,函数,作用域,JavaScript,day04,fn,变量
来源: https://www.cnblogs.com/ssk69/p/16065168.html