js中变量的定义
js中变量的定义的三中⽅法:const,var,let
  const 设置的是常量,⼀经设置不可改变。在设置时必须赋初值。
2.var
  var设置的是变量,可以不赋初值。
  如果不赋初值的话,变量的类型为undefined;
  如果赋值为:
var a="";
  则a 的类型为string;
  定义时,有⽆加var的区别:
    在JS⾥的全局环境就是⼀个对象,这个对象也是JS运⾏的根,对浏览器中的JS,这个对象就是window对象。对全局JS语句来说,window对象就相当于当前作⽤域。
1var mylike="java";//定义了window作⽤域的⼀个变量 mylike;
2 yourlike="c#";    //定义了window作⽤域的⼀个属性 yourlike;const的作用
    在全局语句中,加不加var并没有什么区别,但在函数体中加不加var是有区别的
1var mylike = "c#";
2  yourlike = "c++";
3  console.log("mylike is "+mylike+" "+"yourlike is "+yourlike);    //mylike is c# yourlike is c++
4function change(){
5    console.log("in the function 's mylike "+mylike+"in the function's  yourlike "+yourlike);  //in the function 's mylike undefinedin the function's  yourlike c++
6
7var mylike = "java";
8    yourlike = "php";
9    console.log("change mylike "+mylike+"change yourlike "+yourlike);  //change mylike javachange yourlike php
10  }
11  change();
12  console.log("next mylike "+mylike+""+"next yourlike "+yourlike);      //next mylike c#next yourlike php
    加了var 的在函数内外表现为两个属性,var 定义的变量是有作⽤域的。⽽函数相当于在全局作⽤域中创建了⼀个⼦作⽤域。js遇到变量或函数时会⾸先在当前作⽤域,没到再往上⼀级作⽤域。在change函数中如何没有定义 var mylike 则会输出 “in the function ‘s mylike c#”,⽽上⾯在函数中定义 var mylike,当前作⽤域存在 mylike这个变量,⽽在⼀开始mylike还没赋值,为undefined。
    在函数中mylike是⼀个值,函数外mylike是⼀个值。⽽没有var修饰的只表现出⼀个东西。
3.let
  let是块级作⽤域,在函数中定于let变量,在函数外⽆影响
1  let a=1;
2  console.log(a);      //1
3function change(){
4    let a = 333;
5    console.log(a);    //333
6  }
7  change();
8  console.log(a);      //1

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。