js 声明——有无var的区别
在简单的一次尝试中发现了问题,上图:
图一:
图二:
这种情况发生的原因是什么呢?
有var的是已声明变量,没有var的是未声明变量。在MND的var词条中有这样的描述:
将赋值给未声明变量的值在执行赋值时将其隐式地创建为全局变量(它将成为全局对象的属性)。声明和未声明变量之间的差异是:
- 声明变量的作用域限制在其声明位置的上下文中,而非声明变量总是全局的。
- 声明变量在任何代码执行前创建,而非声明变量只有在执行赋值操作的时候才会被创建。
- 声明变量是它所在上下文环境的不可配置属性,非声明变量是可配置的(如非声明变量可以被删除)。
我是否可以这样理解:未声明变量,即隐含全局变量,严格来说不是真正的变量,而是全局对象的属性。已声明变量是真正的变量,无法使用this访问或者删除。
再用一个例子验证我的想法:
delete方法可以删除对象的属性。
使用var声明的a变量无法删除,而b删除成功。
js 声明——有无var的区别相关推荐
- 【js】js中const,var,let区别
在node.js使用例子中,第一次看到const的声明,查询了一下,可以看得出来: http://www.cnblogs.com/ksl666/p/5944718.html 参考 主要内容是:js中三 ...
- js中const,var,let区别与用法
原文链接:https://blog.csdn.net/qq_36784628/article/details/80966826 js中三种定义变量的方式const, var, let的区别. 1. c ...
- js中const,var,let区别
1.const定义的变量不可以修改,而且必须初始化. 1 const b = 2;//正确 2 // const b;//错误,必须初始化 3 console.log('函数外const定义b:' + ...
- js const 和 var 的区别
const 其作用域和let一样,都是块作用域的,并且呢,如果const变量是基本类型值,则值不可变,如果值为引用类型数据结构,那么其引用的变量不可变,当然啦,const初始化的时候必须要赋值.不允许 ...
- JS中 let 和var的区别
JS中let和var 的区别 简单介绍let var的常见变量提升 ES6可以用let定义块级作用域变量 let配合for循环的独特应用 let没有变量提升与暂时性死区 let变量不能重复声明 简单介 ...
- 在Javascript中 声明时用var与不用var的区别,== 和 ===的区别
今天,被问到两个JS问题,当时没回答到重点,问题虽然看起来简单,但是细节却马虎不得,在此做下记录: 1. 在Javascript中 声明时用"var"与不用"var&qu ...
- uniapp 获取到js文件var一个变量怎么获取到这个变量值_浅析Js中const,let,var的区别及作用域...
理解:let变量的作用域只能在当前函数中 js中const,let,var的区别及作用域_lianzhang861的博客-CSDN博客blog.csdn.net 全局作用域中,用 const 和 l ...
- JS基础篇--函数声明与定义,作用域,函数声明与表达式的区别
Scoping & Hoisting 例: var a = 1;function foo() {if (!a) {var a = 2;}alert(a); };foo(); 上面这段代码在运行 ...
- 【JS里面使用var声明变量存在的三个问题】
1.允许重复声明,导致变量被覆盖.看如下代码: var a = 1; function prinf(){console.log(a); }var a = 2;prinf(); 结果输出: 这里假设你v ...
最新文章
- npjsba-2018-用肠道微生物模型指导个性化膳食缓解局部性肠炎
- linux 查看san链路状态,linux系统运行状态检查
- springboot: ajax异步提交表单
- 【转】最小编辑距离 算法原理
- 二十四、数据挖掘时序模式
- ndarray python 映射_在Matlab的delsq演示中,用numpy方法对向量映射进行ndarray处理?...
- 两步路轨迹文件位置_最新Uber ATG的轨迹预测方法LiRaNet介绍
- vue element-ui-tree样式总结
- [CF1095F]Make It Connected
- 电脑ping服务器显示传输失败,Win10系统ping时出现传输失败常见故障解决办法
- C++最小函数模板demo
- 2015.10.7第一篇
- POJ-3714 Raid 平面最近点对
- 教程|Word/WPS永久更改默认背景颜色
- KNN代码学习:将iris.csv处理成bunch格式
- CPU 和 GPU - 异构计算的演进与发展
- 琵琶行 (白居易诗作)
- 矩阵论-线性空间与线性映射
- 怎么用python学习网站开发_2018年最好用的5个python网站开发框架
- javabean/Listjavabean与map/Listmap互相转换