JavaScript入门到精通十(作用域、匿名函数、逻辑中断)

发布时间:2026/9/27 5:02:52
JavaScript入门到精通十(作用域、匿名函数、逻辑中断) 一.什么是作用域一段程序代码中所用到的名字并不总是有效和可用的而限定这个名字的可用性的代码范围就是这个名字的作用域。作用域的使用提高了程序逻辑的局部性增强了程序的可靠性减少了名字冲突。1.全局作用域作用于所有代码执行的环境(整个script标签内部)或者一个独立的js文件body script let a 5 // 全局变量 console.log(a); function fn(){ console.log(a); } fn(); /script /body2.局部作用域作用于函数内的代码环境就是局部作用域。因为跟函数有关系也称为函数作用域。body script function fn(){ let num 10; // 局部变量 console.log(num); } fn(); console.log(num); /script /body注意1.如果函数内部变量没有声明直接赋值也当全局变量看但是强烈不推荐。2.函数内部的形参可以看做是局部变量访问原则在能够访问到的情况下先局部局部没有在找全局就近原则二.什么是匿名函数什么是函数表达式具名函数和匿名函数的区别1.匿名函数没有名字的函数无法直接使用function () { }2.函数表达式将匿名函数赋值给一个变量并且通过变量名称进行调用let fn function () { // 函数体 }调用fn() // 函数名3.区别具名函数的调用可以写到任意位置匿名函数必须先声明后调用三.立即执行函数避免全局变量之间的污染多个立即执行函数之间用分隔function{}body script (function(){ let num 10 console.log(num); })(); (function(){ let num 20 console.log(num); })(); (function(x,y){ console.log(xy); })(10,20) /script /body四.转换时间案例用户输入秒数可以自动转换为时分秒body script let num prompt(请输入秒数); function getTime(t){ let h parseInt(t / 60 /60 % 24) let m parseInt(t / 60 % 60) let s parseInt(t % 60) h h 10 ? 0 h : h m m 10 ? 0 m : m s s 10 ? 0 s : s return 转换之后是${h}小时${m}分${s}秒 } let time getTime(num) document.write(time) /script /body五.逻辑中断逻辑运算符里的短路短路:只存在于左边为false就短路和||左边为true就短路中当满足一定条件会让右边代码不执行body script let num 20 console.log(false num); //num不执逻辑与一假则假 console.log(num); /script /bodybody script console.log(11 22) // 都是真这返回最后一个真值 console.log(11 || 22) //输出第一个真值 /script /body

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询