位置: 编程技术 - 正文

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)

  • 小微企业城建税减半
  • 营业执照副本上的二维码扫描不出来
  • 税负转嫁的概念是什么
  • 金蝶怎么冲减之前的费用
  • 个税申报系统中累计减除费用可以手动修改吗
  • 旅游业发票税率是多少
  • 哪个税种不需要认定就能在电子税务局申报
  • 小微企业免税计入什么科目
  • 代扣代缴个税返点怎么申请
  • 资产损失税前扣除管理办法2019
  • 管理费抵扣如何计算
  • 存货可变现净值与成本孰低 考虑销量吗
  • 小规模纳税人收入账务处理
  • 公益性生物资产有哪些
  • 车位销售代理合同
  • 法人向公司借款用途怎么写
  • 4S店装修改造费帐务处理?
  • gitlab lint
  • linux做raid命令
  • 建材网上销售平台有哪些
  • 如何用ai写代码
  • framework教程
  • php中include_once
  • labelme目标检测
  • 全面带你了解AIGC的风口
  • ai的工具介绍
  • opencv语句
  • 金融机构拆出资金的最长期限
  • 现金流量表里的其他指的是什么
  • 先开发票后收款可以合并做账吗
  • 怎样从对公账号查询账单
  • 培训费发票是否含税
  • 用于研发的材料做成产品出售后怎么做账
  • 套期保值和套期图利
  • sql server 自定义排序
  • 永久性差异有哪些项目
  • 一般纳税人账务不健全是否处罚
  • 公司分期付款购车怎么做账
  • 小规模纳税人是查账征收还是核定征收
  • 公司组织出国旅游很差吗
  • 长期待摊费用进项税分录
  • 上年度漏提折旧
  • 财政补助收入怎样申报企业所得税
  • 期初应收账款对应什么科目试算平衡
  • 固定资产的折旧方法有哪些
  • 不良品扣款会计分录
  • 借款合同需要交印花税吗
  • 递延所得税资产和所得税费用的关系
  • 外资企业再投资退税
  • 融资费用包括什么?
  • 发票管理办法实体法还是程序法
  • 员工社保,个税怎么计算
  • sql判断字符串是否为日期
  • Windows Server 2008脱机文件配置攻略
  • 电脑硬件用途
  • 如何在xp系统中调整移动硬盘
  • mac 活动监视器在哪里
  • .intro
  • win7系统安装谷歌浏览器
  • centos默认字体
  • win7如何设置多个显示器
  • win10输入法设置快捷键
  • javascript登录验证
  • unit uniform
  • 在下次启动计算机时会自动关机。重起后恢复正常(“绿色版”)
  • bs cs架构
  • javascript教程chm
  • 苹果多点触控
  • node.js怎么创建js文件
  • Android 添加数据到本地Excel表
  • js设置标签内容
  • jquery轮播图代码
  • android 系统app开机自启动设置
  • 各种建筑材料税率表
  • 征管法第六十三条的内容
  • 广西南宁税务12366
  • 季度申报表如何填写
  • 如何查询税控盘是否注销成功
  • 为什么10月份社保交不了
  • 发票上纳税人识别号
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设