JavaScript|JavaScript day04 函数

函数 函数讲解
函数是什么? 函数其实就抽取写好的js代码 作为一个通用的代码块 (封装) 作用: 减少代码冗余 (过多) 方便调用 (提供效率 提高代码的可读性) 便于维护 (二次修改) js有哪些函数 1.系统函数 2.内置函数 3.自定义函数 函数带括号就是函数 函数没有调用是不会执行的 系统函数 就是系统自带的函数 alert()
内置函数 Math.pow() 属于Math对象的函数
自定义函数 自己写的函数 需要先书写 再进行调用
函数主要依赖于function关键词进行定义 一般的函数名以fn开头 自定义函数的三种声明方式 1.第一种声明 function 函数名(参数1,参数2....){
? 函数体(需要进行的操作)
}

functionshouMessage(){//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 找不到对应的变量就会报错
逐步向上寻找变量的过程叫做作用域链
【JavaScript|JavaScript day04 函数】作用域就是一个变量的作用区域

    推荐阅读