位置: 编程技术 - 正文

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)

  • 增值税电子普票没有电子章有效吗
  • 进项税额加计抵减会计分录
  • 研发费用直接计入成本吗
  • 个人所得税申报密码如何设置
  • 商家为什么要做广告?
  • 出口企业类别在哪里查
  • 工资3700扣多少社保钱
  • 本月完工入库会计分录
  • 股权投资损失账务处理
  • 企业外购固定资产的成本包括购买价款和相关税费
  • 合并重组案例
  • 残保金是所有企业都交么
  • 未分配利润的计税基础是
  • 工会经费用于什么
  • 补发工资个人所得税怎么申报
  • 公司招待客户买的水果怎么入账
  • 人力资源公司差额开票
  • 两年前少缴的税款是否应补缴?
  • 小微企业增值税税率
  • 结转与结余
  • 未分配利润为负的原因
  • 商品进销差价如何结平
  • 现金支票存根会计要签字吗
  • 应交税费应交增值税明细科目设置
  • 税后利润分配需要计提吗
  • 工业危废处理的前景
  • 发票金额大于报销金额可以吗
  • 个人综合所得适用什么税率?
  • 商会账目
  • 购入的无形资产
  • 无形资产初始计量的表述
  • 消费税和增值税的征税范围有何不同
  • php可以做什么脚本
  • ValueError: all the input arrays must have same number of dimensions, but the array at index 0 has 1
  • 印度活根桥 (© dhritipurna/Shutterstock)
  • 格里戈里耶奈尔尤伯夫
  • 废旧物资回收经营单位
  • 购入专利权属于
  • 进口货物完税价格怎么算
  • 深度学习参数初始化(二)Kaiming初始化 含代码
  • 20221年最新
  • php连接mysql8.0
  • 企业领用低值易耗品计入
  • 小汽车的消费税税率按照气缸容量实行差别
  • 退回发票金额是什么意思
  • 织梦使用教程
  • 处置固定资产净收益属于利得吗
  • 足浴店装修大概多少钱一平
  • 库存商品入库的会计分录怎么写
  • 财务软件是有哪些软件
  • 汇算清缴后补缴得企业所得税,计入哪年的税负
  • 实收资本增减变化为负数的原因
  • 应交税费属于什么科目借方
  • 企业的银行转账多久到账
  • 招待费进项税额可以抵扣吗
  • 哪种飞机票可以抵扣进项税
  • 承兑汇票可以买卖吗?
  • 银行存款实际余额不足
  • phpmyadmin配置文件
  • mysql修改后立即查询
  • win10系统怎么删
  • win 7操作系统安装
  • vpengine.exe进程
  • 交换机操作系统版本
  • linux使用方式有哪些方面
  • Linux系统中修改文件权限
  • win7系统怎么取消自动关机
  • ct.dll
  • windows 8.1更新
  • win10怎么解除网吧下载限速
  • css行与行之间的间距怎么调
  • (翻译)你最好骑一辆共享单车
  • 对应用进行单元测试的是
  • python 基础教程第三版 怎么样
  • webview清除数据
  • wordpress教程
  • python冒泡排序流程图
  • python数据类型总结
  • 公职律师
  • 跪式服务礼仪规范图片
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设