扫码关注官方订阅号
在看别人写的c语言博客中,写到了变量定义和声明变量的区别,我没理解。请问在js中,也有变量定义和声明的区别吗?(ps:我好像没有看到哪里写过定义变量这个说话啊)
光阴似箭催人老,日月如移越少年。
c语言声明应该是extern关键字声明变量名而不定义它,而定义则是指定具体的数据类型,并在内存中分配内存给变量,个人理解c中的声明更类似于引用。js中声明变量就用var,然后就是赋值。定义和声明好像混在一起了,一般不怎么区分定义和声明。
自行参考这里
如果英语看不懂你再说
var str; //这个属于变量声明str = "hhh"; //这个属于变量定义
另
var str2="fff";
这样的其实是两个过程,可以看成var str2;str2="fff";而变量声明是会被提升的意即
someCode(); var str2; str2="fff";
这样的其实真实顺序是
var str2; someCode(); str2="fff";
下面写个证据
function someCode(){ console.log(str2); } someCode(); var str2="fff";
以上代码运行后显示undefined而不是报错,如果没有变量提升则肯定会报str2 is not defined
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
c语言声明应该是extern关键字声明变量名而不定义它,而定义则是指定具体的数据类型,并在内存中分配内存给变量,个人理解c中的声明更类似于引用。js中声明变量就用var,然后就是赋值。定义和声明好像混在一起了,一般不怎么区分定义和声明。
自行参考这里
如果英语看不懂你再说
var str; //这个属于变量声明
str = "hhh"; //这个属于变量定义
另
这样的其实是两个过程,可以看成
var str2;
str2="fff";
而变量声明是会被提升的
意即
这样的其实真实顺序是
下面写个证据
以上代码运行后显示undefined而不是报错,如果没有变量提升则肯定会报str2 is not defined