位置: 编程技术 - 正文

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)

  • 增值税专用发票的税率是多少啊
  • 卖旧书侵权吗
  • 出口应退税额如何计算
  • 个体工商户个人经营所得税优惠政策
  • 防伪税控税务端官网
  • 疫情捐款收据有什么用吗
  • 春节补贴是加还是减
  • 商业承兑汇票贴现率
  • 无发票的费用怎样补交所得税
  • 出口退税正式申报撤销申请
  • 商业银行贷款账号如何查询
  • 年末本年利润结转未分配利润
  • 公司购买设备24套
  • 收到发票怎么记账
  • 代扣代缴税种有几个
  • 公司领用自产产品建设厂房包括销项税
  • 企业购买商品
  • 小规模纳税人增值税怎么算
  • 企业自产自用需要交增值税吗
  • 可以开运费发票的单位有哪些
  • 远期汇票的付款期限可以表示为
  • 支付工程款会计处理
  • 安全中心总是弹出来
  • 网页不播放声音怎么设置
  • 表格关闭函数
  • php封装composer包
  • MacOS Big Sur 11.3网页怎么设置时间限制?
  • php数组函数,选班长
  • 其他业务收入借贷方向
  • 材料外加工会计分录
  • 固定资产提足折旧后报废怎么处理
  • 短期借款利息的核算不可能涉及的账户是
  • 学生兼职收入按什么交个税
  • 前端段落空两格怎么设置
  • 大自然水族馆怎么样
  • es6的module模块
  • php上级目录
  • 百度地图api的使用
  • 帝国cms灵动标签 PHP变量文章ID加减1
  • 股东之间股权转让流程
  • 如何快速删掉通讯录联系人
  • 增值税最高开票限额
  • 可供出售金融资产属于什么科目
  • 合理损耗如何计算单位成本
  • 利润分配贷方余额怎么处理
  • 去年多计提的企业所得税怎么调整
  • etc插卡成功有什么反应
  • 为什么其他权益工具投资处置价差计留存收益
  • 装修费应该按几折算
  • 缴纳城市维护建设税的纳税人有哪些
  • 往来账核算
  • 行政事业单位支出范围和标准
  • 存货账面价值的确定
  • 餐饮企业老板
  • 实名汽车票抵扣
  • 征税体制
  • 库存现金盘点表监盘人是谁
  • 费用设置的明细科目
  • 预支款怎么做现金账
  • windows server2014 安装 Mysql Applying Security出错的完美解决方法
  • Vista和Server08 SP2 RTM-Escrow发放给测试者
  • mac os怎么删除用户
  • win7电脑开机声音怎么改
  • mac桌面应用
  • 手动防止Ping攻击方法(无需防火墙)
  • win8 网络连接
  • ubuntu怎么建立文件
  • win8.1技巧
  • msxct.exe - msxct是什么进程 有什么用
  • win10 屏幕键盘
  • 浅析科学发展观的核心立场
  • javascript代码写在哪个标签里
  • 究竟什么是幸福
  • Qualcom QMI系列-基本知识介绍
  • 去掉字符串中的某个值
  • 计算字符串的长度使用哪个函数?
  • 苗木税收政策
  • 税务局和国税
  • 直系亲属房产买卖过户税费
  • 进口天然气定价机制
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设