javascript之变量作用域

全局变量作用域

在函数外面声明的变量,在任何位置都可以使用

局部变量作用域

在函数内部声明的变量,在函数外面就不能使用,只能在声明它的函数使用

javascript 复制代码
let name = 'tom' //全局变量,在任何位置都可以访问

        function f1()
        {
            let age = 18 //局部变量,当函数结束,变量会销毁
            
            console.log(name)
            console.log(age)
        }
f1()
console.log(age)

上面的代码是在f1函数里面声明了一个age变量,name变量在函数外声明,在f1函数里面,这两个变量都能执行,但是在函数外面age变量则执行不了。

块级作用域

主要是let关键字,在{}中使用let声明的变量,只能在这个代码块里面使用,var则不受这个限制

javascript 复制代码
if(true)
        {
            var a=2
            let b=3
            console.log("a的值"+a)
            console.log("b的值"+b)
        }
        console.log("a的值"+a)
        console.log("b的值"+b)

这段代码在{}声明了a,b两个变量,分别用var和let声明,var声明的变量可以在代码块外执行,let声明的出了代码块就不能执行了

相关推荐
爱勇宝7 小时前
小红花成长新版:模板来了,鼓励也更容易开始
前端·后端·程序员
竹林8187 小时前
Solana前端开发:我在一个NFT铸造页面上被@solana/web3.js的Connection和Transaction签名坑了两天
前端
冬奇Lab8 小时前
每日一个开源项目(第144篇):ai-website-cloner-template - 一条命令、多 Agent 并行,把任意网站逆向成 Next.js 代码
前端·人工智能·开源
玄玄子8 小时前
webpack publicPath作用原理
前端·webpack·程序员
HduSy8 小时前
帮 Claude Code 做了个菜单栏 Token 看板,聊聊里面的一些实现逻辑
前端
minglie8 小时前
一个置换问题
javascript
用户059540174468 小时前
用了6个月LangChain,才发现AI Agent的记忆存储一直有坑——写了23个Pytest用例才彻底修好
前端·css
奶油mm8 小时前
我偷偷把公司的祖传 jQuery 项目改成了 Vue3,CTO 没发现,但全组都来抄我的代码了
前端
用户2136610035728 小时前
Vue2非父子通信与动态组件
前端·vue.js
默_笙8 小时前
🌀 别再手动写 Prompt 了!我让 AI 自己循环改到满意为止
javascript