位置: 编程技术 - 正文

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)

  • 一般纳税人和小规模纳税人哪个合适
  • 企业所得税是含税价还是不含税价
  • 综合所得预扣预缴表在哪里查
  • 民办幼儿园的税收是多少
  • 什么情况下要交个人所得纳税
  • 新准则下怎么调整长期股权投资损益调整
  • 总分机构移送固定资产是否缴增值税
  • 外贸企业视同内销进项可以抵扣吗
  • 某公司是一家刚成立的大型化妆品生产企业
  • 销售部预借差旅费什么凭证
  • 融资租赁开具的发票是货物还是租金
  • 抵扣税控盘维护费会计分录
  • 公司购买的五金工具报销怎么做
  • 外商企业所得税可享受什么优惠政策
  • 出口退税当期不得免征和抵扣的税额
  • 存货 科目
  • 注册资本印花税计入哪个科目
  • 小规模企业所得税标准
  • 以前年度损益调整属于哪类科目
  • 7月1号出台的政策
  • 筹建期可以有收入吗
  • 增值税的调增调减
  • 母公司对子公司的控股比例
  • 企业或公司的证明怎么弄
  • 本期预收的货款属于
  • 软件开发并销售怎么做
  • 没有权限使用网络资源,请与这台服务器的管理员联系
  • sdi是什么文件
  • 服务业公司取得的成果
  • php初学者常见问题和答案
  • 根据新企业会计准则,职工薪酬包括
  • 没有实际出资的股东怎么退出
  • opera software
  • 建筑企业挂靠账务怎么处理?
  • 无人蹭网 网络还不好
  • wordpress用什么开发的
  • 企业财务会计
  • 生产型出口企业免抵退
  • 报销的费用计入什么科目
  • 业务招待费调增后仍然亏损
  • 蒙特城堡干红葡萄酒价格
  • javascript原生
  • 接受投资收到的现金计入
  • 报税系统清卡成功状态
  • 注销营业执照的电话号码是多少
  • 税控盘减免税款会计分录
  • 企业所得税如何征收
  • 应收处理的两大内容是什么
  • 房产税在企业所得税扣除内吗
  • 企业付美金外汇要交税吗
  • 开收据是财务还是出纳
  • 实收资本认缴如何做账
  • 固定资产盘亏是营业外支出吗
  • 会计学材料成本差异
  • 应收账款多出来的钱记到什么科目
  • 所有者权益包括少数股东权益吗
  • 原材料运费如何入账
  • 账务处理有哪几种
  • 兼职工资怎么做账
  • 软件折旧从什么时候算
  • 单位给员工购买公积金流程
  • 房地产开发企业增值税怎么算
  • sqlserver数据库恢复挂起状态
  • sql语句训练题及答案
  • sqlserver 禁用触发器 超时
  • 动态sql语句怎么写
  • Windows Server 2008网络中顺畅访问“邻居”
  • 在microsoft store
  • macbook如何安装苹果系统
  • win8.1优化工具
  • cocos2d-x2.2.3和android平台环境的搭建
  • js插件大全
  • 批处理强制删除文件
  • js如何创建类
  • android内存泄露 工具
  • activity生命周期的方法
  • android 数据
  • 在androidstudio中,如何改变图片的位置
  • 国际税收管理处忙不忙
  • 12月份买的车10月打电话让我去保养
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设