javascript定义变量时有var和没有var的区别探讨
- 软件编程
- 2026-01-11 17:45:58
我们先来看一段代码
function show(){
alert(abc);
}
var abc="defg";
show();
有过C++或Java编程经验的人可能会说:“这程序,死定了,变量竟然在引用了该变量的函数后边定义,bug会灭掉你的。”放在浏览器上运行一下,结果怎样?完美运行!接下来我们就说一下这是咋回事——有var和没有var定义的变量的区别。
1、没有var
简明的说,定义变量时省略var是不安全的,不过是合法的。这时无论该变量是在什么位置定义的,解释器都会赋予该变量以全局作用域。
2、有var
安全的,合法的。定义的变量的作用域取决于定义的位置。至于作用域具体是什么,请参见本博客中“javascript作用域”一文。
这样,开头的那个问题可以解决了。函数中的才是对abc的定义,只不过值为undefined,这时abc有全局作用域,函数外的只是对abc的值的更新。
# 博客
# 这是
# 的人
# 放在
# 一文
# 器上
# 是在
# 的说
# 解决了
# 才是
# 会说
# 不过是
# 有过
# 就说
# 只不过
# 值为
# 不安全
# var
# 灭掉
# 咋回事
# js for循环
# 为什么一定要加var定义i变量
# JavaScript ES6中const、let与var的对比详解
# 死定了
# JavaScript中const、var和let区别浅析
# JScript中的''var''定义变量的作用域
# Javascript var变量隐式声明方法
# 关于JavaScript中var声明变量作用域的推断
# JavaScript中var关键字的使用详解
# 定义变量
# javascript定义变量时加var与不加var的区别
# 在Javascript中 声明时用"var"与不用"var"
# 浅析JavaScript中var that=this
# JavaScript中var的重要性实例分析
相关栏目:
【
教研文案 】
【
日常文案 】
【
AI模型 】
【
网络运营 】
【
营销推广 】
【
云计算 】
【
技术教程 】
【
软件编程 】
【
汉字学习 】
【
歌词歌曲 】
【
精选文章 】
相关推荐:
python中二分查找法的实现方法
python进行二次方程式计算的实例讲解
Go 实现一次性打包各个平台的可执行程序
C#中is,as,using关键字的使用说明
js实现简单的轮播图效果
vue使用element-ui实现表单验证
Python numpy大矩阵运算内存不足如何解决
Android Studio配置国内镜像源(利用hosts)
python基于win32api实现键盘输入
Python 实现键盘鼠标按键模拟
C# 对象映射的高性能方案
MySQL如何使用时间作为判断条件
关于SpringBoot使用Redis空指针的问题(不能成功注入的问题)
解决fastjson泛型转换报错的解决方法
阿里云盘邀请码免费获取! Teambition网盘内测码速抢!(Teambition网盘评测)
Java二叉树的四种遍历(递归和非递归)
解决docker日志挂载的问题
Python析构函数__del__定义原理解析
python使用dlib进行人脸检测和关键点的示例
element中Steps步骤条和Tabs标签页关联的解决
基于Nginx实现限制某IP短时间访问次数
在宿主机上执行docker容器内部的shell或程序方式
vue添加自定义右键菜单的完整实例
Docker容器使用宿主机上的mongod/redis等服务详解
C++调用Go方法的字符串传递问题及解决方案
vue3.0实现插件封装
详解vue中使用transition和animation的实例代码
docker nginx实现一个主机部署多个站点操作
java 多线程实现在线咨询(udp)
Springboot集成graylog及配置过程解析
Java线程的6种状态及切换教程
mongodb数据库实验之增删查改
Asp.Net Core实现Excel导出功能的实现方法
弄清Pytorch显存的分配机制
Java彻底消灭if-else的8种方案
Js实现粘贴上传图片的原理及示例
Java实现简单的socket通信教程
利用nexus作为私库进行代理docker,进行上传和下载镜像操作
MySQL排序原理和案例详析
jquery实现淡入淡出轮播图效果
MySQL 如何连接对应的客户端进程
java利用正则表达式处理特殊字符的方法实例
CentOS 7.x docker使用overlay2存储方式
Docker 制作镜像Dockerfile和commit操作
在java中main函数如何调用外部非static方法
js实现滚动条自动滚动
使用pandas实现筛选出指定列值所对应的行
IntelliJ IDEA 2025.3永久最新激活至2099年(亲测有效)
Java人机猜拳实现的思路及方法实例
selenium框架中driver.close()和driver.quit()关闭浏览器
本文转自网络,如有侵权请联系客服删除。
热门内容推荐
C#使用虚拟方法实现多态
- 2026-01-11
JavaScript原生对象之String对象的属性和方法详解
- 2026-01-11
js实现DOM走马灯特效的方法
- 2026-01-11
轻松创建nodejs服务器(1):一个简单nodejs服务器例子
- 2026-01-11
php实现微信公众平台账号自定义菜单类
- 2026-01-11
