美文网首页
var let const

var let const

作者: 闪电西兰花 | 来源:发表于2018-05-27 00:37 被阅读0次
var price = 100;
price = 200;
console.log(price);     //200,var声明的变量可重新赋值
var price = 300;
console.log(price);    //300,var声明的变量可重复声明
function getPrice(){
    var price = 100;
    console.log(price);
}
getPrice();       //100,函数内部访问变量
console.log(price);      //price is not defined,var声明的变量是function scope
var price = 100;
var count = 10;
if( count > 5 ){
    var discount = price * 0.6;
}
console.log(discount);        //60,没有function,discount是全局变量
var price = 100;
var count = 10;
if( count > 5 ){
    let discount = price * 0.6;     
}
console.log(discount);   //discount is not defined,let和const是block scope,这里使用const也是相同结果
let count = 10;
count = 20;
console.log(count);    //20,let声明的变量可重新赋值
let count = 20;     //Identifier 'count' has already been declared,let声明的变量不可以重复声明
let discount = 0.9;           //全局作用域下的变量
if( count > 5 ){
    let discount = 0.5;            //block中的变量
}
console.log(discount);     //0.9,获取全局变量
const key = '123';
key = '1234';      //Assignment to constant variable,const声明的变量不可重新赋值
const person = {
    name: 'Asher',
    age: 5
}
person = {
    name: 'allen',
    age: 2
}
cosnole.log(person);    //Assignment to constant variable,指针指向新的地方了,不可以
const person = {
    name: 'Asher',
    age: 5
}
person.age = 6;
console.log(person);        //{name: "Asher", age: 6},const晟敏的对象可以修改属性
//let使用场景
for(var i=0;i<5;i++){
    console.log(i);
    setTimeout(function(){
        console.log(i);          //输出5个5
    },1000)
}

for(let i=0;i<5;i++){
    console.log(i);
    setTimeout(function(){
        console.log(i);          //输出01234
    },100)
}
console.log(color);
var color = 'blue';         //undefined,变量提升
//ES6中建议使用var/let/const的规则
//默认使用const
//当变量需要重新绑定或更新时使用let
//尽量不使用var
console.log(color);
let color = 'blue';         //color is not defined,暂时性死区,let声明不会被提升到当前执行上下文的顶部,const也同样

相关文章

  • Android菜鸟学习js笔记 一

    一、var,const,let区别? var 变量,const 常量,let块级变量。

  • ES6_var、let与const

    var,let 与 const var 申明变量。 let 申明变量,更完美的 var。 const 申明常量(物...

  • TypeScript 02 - 变量声明

    在 TypeScript 中,var 还是 var,let 还是 let,const 还是 const,这里简单温...

  • JS中var、let、const区别

    在javascript中有三种声明变量的方式:var let const。let var const的区别?var...

  • js中const,var,let区别

    在javascript中有三种声明变量的方式:var let const。let var const的区别?var...

  • 面试题 var let const的区别 箭头函数和普通函数的区

    var let const 有什么区别 var var声明的变量可进行变量提升,let和const不会var可以重...

  • ES6学习

    1、 var let const var是函数作用域let和const是块级作用域,!const是常量,不能改变。...

  • ES6

    let var const var 可声明前置 let不可声明前置 let不可重复声明 存在块级作用域 const...

  • let和const

    let/const(常用) let和var 区别 let,const用于声明变量,用来替代老语法的var关键字,与...

  • js 2022经典面试题汇总

    1.JS数据类型有哪些 2.var、let、const区别 var存在变量提升,而let、const没有 let、...

网友评论

      本文标题:var let const

      本文链接:https://www.haomeiwen.com/subject/wgmvjftx.html