JavaScript day04 函数
2022/3/28 1:22:58
本文主要是介绍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
找不到对应的变量就会报错
逐步向上寻找变量的过程叫做作用域链
作用域就是一个变量的作用区域
这篇关于JavaScript day04 函数的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-13TiDB + ES:转转业财系统亿级数据存储优化实践
- 2024-05-09“2024鸿蒙零基础快速实战-仿抖音App开发(ArkTS版)”实战课程已上线
- 2024-05-09聊聊如何通过arthas-tunnel-server来远程管理所有需要arthas监控的应用
- 2024-05-09log4j2这么配就对了
- 2024-05-09nginx修改Content-Type
- 2024-05-09Redis多数据源,看这篇就够了
- 2024-05-09Google Chrome驱动程序 124.0.6367.62(正式版本)去哪下载?
- 2024-05-09有没有大佬知道这种数据应该怎么抓取呀?
- 2024-05-09这种运行结果里的10.100000001,怎么能最快改成10.1?
- 2024-05-09企业src漏洞挖掘-有意思的命令执行