let 和 const var
2021/6/10 18:51:02
本文主要是介绍let 和 const var,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
var:
当在函数内部没有定义这个变成,默认就是在全局的上下文定义了一个var sum;
function add(num1, num2) { sum = num1 + num2; // var sum = num1 + num2 这个样的结果就是报错sum is not defined return sum; } let result = add(10, 20); // 30 console.log(sum); //30
变量提升
console.log(name); // undefined var name = 'Jake';
函数提升变量,可以把
function getName(){return 4};//函数声明 看错是声明加赋值的功能,函数表达式就只是一个声明赋值还是需要根据全局的上下文来执行的。
var getName = function(){return 2};//函数表达式 function getName(){return 4};//函数声明 console.log(getName());//2 console.log(getName());//4 var getName = function(){return 2};//函数表达式 console.log(getName());//2 function getName(){return 4};//函数声明
let:
就是块级作用域
const:
它和let的区别就是,首先当定义const的时候需要提前赋值,不能更改引用名和数值
const o1 = {}; o1 = {}; // TypeError: 给常量赋值 const o2 = {}; o2.name = 'Jake'; console.log(o2.name); // 'Jake'如果想让整个对象都不能修改,可以使用 Object.freeze(),这样再给属性赋值时虽然不会报错, 但会静默失败:
const o3 = Object.freeze({}); o3.name = 'Jake'; console.log(o3.name); // undefined
总结:
由于 const 声明暗示变量的值是单一类型且不可修改,JavaScript 运行时编译器可以将其所有实例 都替换成实际的值,而不会通过查询表进行变量查找。谷歌的 V8 引擎就执行这种优化。 这个实例就是前面o2.name这些当使用到了const这个引用名就是直接变成实际的值。开发中尽量的使用const。
这篇关于let 和 const var的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-07-05feign默认connecttimeout和readtimeout是多少-icode9专业技术文章分享
- 2024-07-05idea控制台,日志太多,导致部分想看得日志被刷走 搜不到-icode9专业技术文章分享
- 2024-07-05The server selected protocol version Tls10 is not accepted by client preferences [TLs12]-icode9专业技术文章分享
- 2024-07-05怎么清理项目缓存-icode9专业技术文章分享
- 2024-07-04安装 Eyoucms详细图文教程-icode9专业技术文章分享
- 2024-07-04ueditor 复制文章时,图片的链接是一个下载图片地址,该如何处理?-icode9专业技术文章分享
- 2024-07-04怎样判断host有没有对wordpress有缓存呢-icode9专业技术文章分享
- 2024-07-04具有编译功能的系统make后,无法ssh连接-icode9专业技术文章分享
- 2024-07-04make后如何升级ssh-icode9专业技术文章分享
- 2024-07-03微信支付提示下单账户与支付账户不一致-icode9专业技术文章分享