var、const、let 的区别

定义变量的三种方式

var、const、let 都可以用来定义变量,但三者之间存在区别。

var

  • var 声明变量的时候无需初始化。
  • var 声明的变量可在后面进行修改。
  • var 声明的全局变量可以被函数修改。
<!DOCTYPE html>
<html>
<head>
    <title></title>
</head>
<body>
<script type="text/javascript">
    var a;
    console.log(‘定义a变量,此时没有初始化,a的值为:‘,a);

    a = 1;
    console.log(‘修改a的值,此时a的值为:‘,a);

    function chageVarA () {
        a = 2;
        console.log(‘在函数里面修改a的值,此时a的值为:‘,a);
    }
    chageVarA();

    console.log(‘在函数执行后,全局变量a的值为:‘,a);
</script>
</body>
</html>

执行的结果为:

const

  • const 声明变量时必须初始化。
  • const 声明的变量不能被修改。
<!DOCTYPE html>
<html>
<head>
    <title></title>
</head>
<body>
<script type="smy1.com text/javascript">
    const a;
    console.log(a);
</script>
</body>
</html>

执行的结果为:

<!DOCTYPE html>
<html>
<head>
    <title></title>
</head>
<body>
<script type="text/javascript">
    const a = 1;
    console.log(‘初始化a变量,此时a的值为:‘,a);

    a = 2;
    console.log(‘修改a的值,此时a的值为:‘,a)
</script>
</body>
</html>

执行的结果为:

let

  • let 是块级作用域。
  • 在函数内部使用let后,对函数外部的变量无影响。
<!DOCTYPE html>
<html>
<head>
    <title></title>
</head>
<body>
<script type="text/javascript">
    var a = 1;
    console.log(‘初始化变量a,此时a的值为:‘,a);

    function changeLet(){
        let a = 2;
        console.log(‘执行变量修改函数,在函数内容a的值为:‘,a);
    }
    changeLet();

    console.log(‘执行变量修改函数后,全局变量a的值为:‘,a);
</script>
</body>
</html>

执行的结果为:

原文地址:https://www.cnblogs.com/xinshijue6080/p/10119610.html

时间: 2024-10-10 09:20:21

var、const、let 的区别的相关文章

var const let 区别

var  const   let  区别 今天第一次遇到const定义的变量,查阅了相关资料整理了这篇文章.主要内容是:js中三种定义变量的方式const, var, let的区别. 1. const 定义的变量是不可修改的,而且必须初始化. 1 const b = 2;//正确 2 // const b;//错误,必须初始化 3 console.log('函数外const定义b:' + b);//有输出值 4 // b = 5; 5 // console.log('函数外修改const定义b:

int *p,cons int *p,int const *p,int * const p,const int * const p,int const * const p的区别

 加有const关键字的几种情况的辨析 const修饰的代码 含义(特点) 等价性 int *p = &num; 1.       可以读自己 2.       可以通过*p改自己 3.       可以通过p = &data来看别人 权限最大 cons int *p = &num; 1.const放在左边意味着指向的是常量,这个常量不可以修改, 2.p = &data; (地址可以修改) 3.*p = 30;(这个时候是错误的) 这两者等价(应用:查看别人的账户) i

const 和 #define区别

(1) 编译器处理方式不同 define宏是在预处理阶段展开. const常量是编译运行阶段使用. (2) 类型和安全检查不同 define宏没有类型,不做任何类型检查,仅仅是展开. const常量有具体的类型,在编译阶段会执行类型检查. (3) 存储方式不同 define宏仅仅是展开,有多少地方使用,就展开多少次,不会分配内存. const常量会在内存中分配(可以是堆中也可以是栈中). (4)const  可以节省空间,避免不必要的内存分配. 例如:           #define PI

简述C#中关键字var和dynamic的区别

C#中关键字var和dynamic的区别如下: 1.var申明的变量必须初始化,dynamic申明的变量无需初始化. 2.var关键字只能在方法内部申明局部变量,dynamic关键字可用于局部变量,字段,参数. 3.表达式不能转型为var,但可以转型为dynamic. 4.用var关键字声明变量时,编译时会根据初始化值来推断该变量的类型,用dynamic关键字声明变量时,编译的时候不执行类型检查,仅在运行时识别对象的类型. 注:参考<CLR via C# 4>

1、function aa(){}和 var aa=function(){}的区别:

例如: alert(sum(10,10)); function sum(num1,num2){ return num1+num2; }//正常执行 备注:正常执行的那个,在代码开始执行之前,解析器就通过一个名为函数声明提升的过程,读取并将函数声明添加到执行环境中,对代码求值时,javaScript引擎在第一遍会声明函数并将它们放到源代码数的顶部 alert(sum(10,10)); var sum=function(num1,num2){ return num1+num2; }//报错 1.fu

void fun() const{}; const void fun(){}; 和void const fun(){}; 的区别?

void fun() const{}; const void fun(){}; 和void const fun(){}; 的区别? const void fun(){};和void const fun(){};两个相同. 如果采用"按址传递方式"的函数返回值加const 修饰,那么函数返回值(即地址)的内容不能被修改,该返回值只能被赋给加const 修饰的同类型指针. 如果采用"按值传递方式"的函数返回值加const 修饰,由于函数会把返回值复制到外部临时的存储单元

理解C# 4 dynamic(1) - var, object, dynamic的区别以及dynamic的使用

原文:理解C# 4 dynamic(1) - var, object, dynamic的区别以及dynamic的使用 阅读目录: 一. 为什么是它们三个 二. 能够任意赋值的原因 三. dynamic的用法 四. 使用dynamic的注意事项 一. 为什么是它们三个? 拿这三者比较的原因是它们在使用的时候非常相似.你可以用它们声明的变量赋任何类型的值. 看看下面的示例: var a = 1; object b = 1; dynamic c = 1; 你还可以使用关键字为它们赋上更加复杂的类型 v

PHP 中const 与define 区别

1.const用于类成员变量定义,一旦定义且不能改变其值.define定义全局常量,在任何地方都可以访问. 2.define不能在类中定义而const可以. 3.const不能在条件语句中定义常量 if (...) { const FOO = 'BAR'; // invalid } but if (...) { define('FOO', 'BAR'); // valid } 4.const采用一个普通的常量名称,define可以采用表达式作为名称. const FOO = 'BAR'; for

var, object, dynamic的区别以及使用(转载)

var, object, dynamic的区别以及使用 阅读目录: 一. 为什么是它们三个 二. 能够任意赋值的原因 三. dynamic的用法 四. 使用dynamic的注意事项 拿这三者比较的原因是它们在使用的时候非常相似.你可以用它 们声明的变量赋任何类型的值. 看看下面的示例: var a = 1; object b = 1; dynamic c = 1; 上面的例子中,看起来三者非常相似,但是背后的原理却是非常 不同. var是C# 3中引入的,其实它仅仅只是一个语法. var本身并不

const int *p 和int * const p 的区别

看例子: int sloth = 3; const int *p1 = &sloth; int * p2 const = &sloth; 这样申明的话,不允许使用p1来修改sloth的值,但是p1可以指向其他的地址: 可以利用p2修改sloth的值,但是p2不允许指向其他地址. 第二个例子: 1. int gorp = 16; int chips = 12; const int *p_snack = &gorp *p_snack = 20; (X) p_snack = &c