JavaScript 函数
1. 创建函数及调用
声明式函数 function fn(){ console.log('我是声明式函数') } fn() // 调用函数 表达式函数 var fn = function(){ console.log('我是表达式函数') } fn() // 调用函数 匿名函数与立即执行函数 (function(){ console.log('我是匿名及立即执行函数') })() 箭头函数 var fn = () => { console.log('我是ES6新增的箭头函数') } fn()
形参:形式上的参数——给函数声明一个参数。 实参:实际的参数——在函数调用时给形参赋的值。 var fn = function(a,b){ // 这里 a 与 b 表示形参 console.log(a + b) // 3 } // 1 与 2 是实参 fn(1+2)
使用关键字:arguments,代表所有实参的集合。通过下标获取参数的每一位;
通过length获取实参的个数;集合是类数组,可以使用下标,但是没有数组中的各种方法。(不清楚的 arguments 的请看 数组篇)
function fn () { console.log(arguments) // [1,2] } fn(1, 2)
- 所有函数都会有函数返回值即函数执行后一定会返回一个结果,如果没有定义默认返回undefined;
- 在函数中,return后定义返回值;
- 在函数中,return之后的代码就不会再执行了.
function fn (a,b) { return a + b } fn(1, 2) console.log(fn(1,2)) // 3
对任何内部函数来说,都是可以访问的。
凡是代码块就可以划分变量的作用域,这种作用域的规则就叫块级作用域。
4.4 作用域链
采取就近原则的方式来查找变量最终的值。
4.5 预解析
预解析过程和代码执行过程。
在执行代码是时候,JS 解析器会把 变量 与 函数 提升到作用域最前面,且不会对变量进行赋值 与 函数调用等操作(变量提升,函数提升)。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构