位置: 编程技术 - 正文

JavaScript变量的作用域全解析(javascript 变量)

编辑:rootadmin

推荐整理分享JavaScript变量的作用域全解析(javascript 变量),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:javascript变量的命名规则,javascript变量的命名规范,javascript变量的作用域代码,javascript变量的关键词,javascript变量的命名规则,javascript变量的作用域,javascript变量的作用域,javascript变量的命名规则,内容如对您有帮助,希望把文章链接给更多的朋友!

变量作用域是程序中定义这个变量的区域。先来看一段示例:

/* 代码1 */

全局作用域与局部作用域全局(global)变量的作用域是全局的,在Javascript中处处有定义;而函数内部声明的变量是局部(local)变量,其作用域是局部性的,只在函数体内部有定义。对于下面的输出读者应不会感到意外。/* 代码2 */

全局变量作用域中使用变量可以不用var语句,但在声明局部变量是一定要使用var语句,否则会视为对全局变量的引用。看下面代码:/* 代码3 */

没有块作用域Javascript没有块级作用域,函数中声明的变量在整个函数中都是有定义的。对于下面的代码对于生疏的读者可能颇感意外:/* 代码4 */

由于语句4.1(var scope = "local";)声明的变量在整个checkScope函数作用域内都有效,因此在语句4.2(document.write(scope); )执行的时scope引用的是局部变量,而此时局部变量scope尚未定义,所以输出”undefined”。因此一个好的编程习惯是将所有的变量声明集中起来放在函数的开头。

在了解了上述内容之后,读者再看看代码1应该不会感到困惑了。对象的属性变量对象的属性变量比较容易理解,看一下下面的代码读者应该不会感到疑惑。/* 代码5 */

所谓作用域,就是说这个变量在代码块中的有效范围。如果不理解 JavaScript 作用域,调试代码的时候可能会比较困难。

在函数中,如果用var来声明一个变量,那么该变量的作用域就只限于该函数内部,函数外的代码无法访问该变量。如果在该函数中再声明一个函数,那么这个内部的函数也可以访问这个变量。

反过来,如果声明变量的时候没有用var,那么此变量的作用域就不局限于这个函数了。JavaScript 引擎会再全局范围中检查该变量是否被定义过。如果该变量没有被定义过,那么它就会被定义为一个全局变量。

函数可以访问相同作用域中的变量:

JavaScript变量的作用域全解析(javascript 变量)

变量作用域之外的代码不能访问该变量:

不用作用域中名称相同的变量,有不同的值:

函数定以后可以看到函数内变量值的改变:

作用域也会穿越 — 闭包

综合

所谓作用域,就是说这个变量在代码块中的有效范围。如果不理解 JavaScript 作用域,调试代码的时候可能会比较困难。

在函数中,如果用var来声明一个变量,那么该变量的作用域就只限于该函数内部,函数外的代码无法访问该变量。如果在该函数中再声明一个函数,那么这个内部的函数也可以访问这个变量。

反过来,如果声明变量的时候没有用var,那么此变量的作用域就不局限于这个函数了。JavaScript 引擎会再全局范围中检查该变量是否被定义过。如果该变量没有被定义过,那么它就会被定义为一个全局变量。

函数可以访问相同作用域中的变量:

变量作用域之外的代码不能访问该变量:

不用作用域中名称相同的变量,有不同的值:

函数定以后可以看到函数内变量值的改变:

作用域也会穿越 — 闭包

JavaScript中的this关键字使用详解 和其它许多面向对象的语言一样,JavaScript中也有this关键字,this在函数中用来指向调用此方法的对象。实际编程中要判断this到底指向谁,一般可遵循以

关于JavaScript的变量的数据类型的判断方法 虽然Javascript是弱类型语言,但是,它也有自己的几种数据类型,分别是:Number、String、Boolean、Object、Udefined、Null。其中,Object属于复杂数据类型,Object

JavaScript中var关键字的使用详解 作用声明作用;如声明个变量。语法varc=1;省略var在javascript中,若省略var关键字而直接赋值,那么这个变量为全局变量,哪怕是在function里定义的。scriptt

标签: javascript 变量

本文链接地址:https://www.jiuchutong.com/biancheng/379054.html 转载请保留说明!

上一篇:再JavaScript的jQuery库中编写动画效果的指南(javascript如何)

下一篇:JavaScript中的this关键字使用详解(Javascript中的this)

  • 增值税发票税控开票软件怎么下载
  • 同一商品税收分类编码不一样
  • 出租设备的租金收入记入( )账户
  • 500以下的收据可以入账吗
  • 记账凭证填错了怎么改
  • 转登记纳税人留抵退税政策
  • 印花税交完有什么凭证
  • 包装设置图片
  • 让渡资产使用权收入计入什么科目
  • 进项票不足
  • 地税服务业发票税率多少
  • 小规模纳税人发票可以抵扣吗
  • 企业会计准则财务报表本期金额和上期金额
  • 财政部2019年39号第七条
  • 收取施工队管理费
  • 计提减值准备怎么计算?
  • 不交社保一告一个准罚多少钱
  • 怎么查询企业的注册资金
  • 税局代开专票会计分录怎么写?
  • win7系统无法启用网络发现
  • 积极的财政政策有哪些
  • 企业内部股权划拨流程
  • 苹果电脑双系统好不好
  • 教学用具属于什么项目类别
  • php psr2
  • 销项负数发票怎么报税
  • 代发工资跨行手续怎么办
  • 斯科默岛白玉草丛中的海鹦,威尔士彭布罗克郡 (© Ross Hoddinott/Minden Pictures)
  • PHP:iconv_get_encoding()的用法_iconv函数
  • 什么叫非同一控制下
  • 发票开具的常见错误
  • Nginx-http-flv-module流媒体服务器搭建+模拟推流+flv.js在前端html和Vue中播放HTTP-FLV视频流
  • php验证电子邮件格式
  • 神经辐射场nerf三维重建入门
  • netty websocket心跳
  • 自产自销的苗木免税吗
  • win11电源高性能模式代码
  • c++ array
  • vue开发小技巧
  • 物业收取停车费需要业主同意吗
  • 资产减值损失为什么要调增
  • wordpress提示插件
  • mysql union or
  • mongodb安装包下载
  • 主营业务收入在哪个报表里面
  • 小规模纳税人税率2023年是多少
  • 企业年金是否要交个税
  • 存货的计税基础公式
  • mysql多表左连接查询
  • 暂估入库价格是否含税
  • 企业净利润怎么查询数据
  • 库存商品过期报废的会计分录是什么
  • 小规模纳税人已付款对方不开发票几年了会计分录
  • 原材料暂估的业务包括
  • 给股东分利润怎么做账
  • 银行日记账的登记依据有哪些
  • 进口关税,增值税,消费税
  • 发票认证完了该怎么取消
  • 工厂加工费的账务怎么做
  • 其他货币资金属于什么类科目
  • 资本增值率计算公式是什么?
  • ubuntu系统如何解压文件
  • unix系统采用什么结构
  • 系统自动设置网络连接
  • mac如何修改
  • win7如何运行命令
  • win10如何不升级系统
  • Win10 Mobile 10586.312提前体验
  • w10资源管理器怎么打开快捷方式
  • 批处理传参数
  • perl 运算
  • 各种扩展名的含义
  • 噩梦像连续剧
  • vue list清空
  • jquery mobile实例
  • github上有什么
  • 12366纳税服务热线接收税收违法行政行为举报管理办法
  • 税务稽查总队
  • 虚假新闻造成的真实伤害
  • 公积金提取需要几个工作日
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设