位置: 编程技术 - 正文

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)

  • 以房抵债的房子交房产税吗
  • 关联方的借款用什么科目核算
  • 公司税务注销流程是否要不发生业务多久
  • 一个月没有账务往来,现金日记账如何登记?
  • 注册资本为0的企业
  • 土地租赁增值税发票税是多少
  • 年度财务报表和季度财务报表一样吗
  • 母子公司无偿划转资产涉税
  • 集资款利息走什么科目
  • 长期股权投资的交易费用计入哪里
  • 折扣销售指
  • 固定资产折旧提完了之后还要怎么处理吗
  • 上年计提奖金今年怎么算
  • 结算本月应付职工薪酬,其中生产工人工资为18000
  • 应征消费税的汽车为啥不能抵扣
  • 公司利润不分配可以怎么处理
  • 不是办税员可以去税局办事吗
  • 承兑到期不兑付应起诉哪方?
  • 个人承包公司的经营所得怎么算
  • 怎么判断分红前已提取足够法定公积金?
  • 企业白条报销和采取措施
  • 重点税源财务指标有哪些
  • 简易办法计税销售额如何填写
  • 怎么查询企业的注册资金
  • qq能上,网页打不开怎么回事
  • 冲未开票收入怎么做分录
  • 为什么无形资产是非流动资产
  • win11任务管理器怎样调出
  • 总分机构什么时候备案
  • 如何选择一款适合自己家庭的凉席
  • php ajax 实现
  • HuggingFace简明教程
  • php 函数返回值
  • 前端加密后端解密代码
  • antd-vue-pro
  • phpstrcmp函数
  • zendframework3中文手册
  • 集团与子公司资产的关系
  • 促销品的账务处理按售价算吗
  • 租赁房屋开具发票商品名称
  • 非财政补助结余分配和非财政拨款结余分配
  • 核销对哪些单据对应关系进行的操作
  • PostgreSQL中使用dblink实现跨库查询的方法
  • mysql查询缓慢
  • 未分配利润用于扩大再生产
  • 本年度企业所得税怎么算
  • sqlserver2008安装步骤图文
  • 捐赠的增值税可以抵扣吗
  • 专款专用需要缴税吗
  • 6月工资7月发8月申报
  • 用材料抵扣货款通知怎样写
  • 公司自己搭建的房子出租可以按投资性房地产吗
  • 企业垫付是什么意思
  • 企业实缴资本如何查
  • 公章变更需要到哪里办理
  • 广告宣传费纳税调整额怎么算
  • 汽车租赁公司成本
  • 产品成本核算有哪些方法
  • 创建的sql语句
  • 主板升级bios失败怎么办
  • winadm.exe - winadm是什么进程
  • 电脑系统管理员已阻止这个应用怎么办
  • macbookzen
  • 个人pc用户免费下载软件
  • 如何将windows 10
  • win10系统打开文件夹就不停的闪
  • linux k
  • cocos2d 网页
  • opengl vs2017
  • web直接打印
  • 什么叫屏蔽屏幕按键
  • 安卓开发viewpager的用法
  • shell怎么创建用户
  • js获取选中的checkbox
  • python获取文件内所有函数
  • angularjs常用总结
  • js如何封装
  • js封装是什么意思
  • 贵州省微企补助政策
  • 如何查询甘肃省学业水平考试成绩
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设