阿西河

所有教程

公众号
🌙
阿西河前端的公众号

我的收藏

    最近访问  (文章)

      教程列表

      抓包专区
      测试专区

      JavaScript 变量的定义和储存值的类型判断

      变量与数据

      变量保存的数据可以在需要时设置、更新或提取。

      赋给变量的值都有对应的类型。

      解释说明

      // tb='淘宝';
      
      var jd="京东商城";
      //    var z="亚马逊';// 双引号" 和单引号' 不能混合使用
      var xx;
      /*
      * var        variable 变量 let const  声明变量的关键字;
      * jd         这是变量名
      * =          这是操作符
      * "京东商城"  这个是数据
      *
      * 把"京东商城",这段数据,通过=来赋值给jd这个变量名;
      * */
      console.log(jd);
      console.log(xx);//undefined
      //    console.log(tb);
      
      //"京东商城"  字符串"" 和 '' 包裹的内容 属于字符串类型
      

      注意:双引号 " 和单引号 ' 不能混合使用

      变量的定义和赋值

      • var a=“hello word”

      • 英文全称是 variable ,定义变量是关键字就是 var

        var a="hello word";
        //var 是变量声明符号,类似的还有 let const(后面会介绍)
        //a     是变量名,可以任意起,但是有些单词属于关键字和保留字是不能用的,后面会介绍
        //"hello word"  是代表了JS中的数据值;
        
        //函数的写法
        function greetMe(user) {
            return "Hi " + user;
        }
        
        greetMe("anbang"); // "Hi anbang"
        
        
        
      • 用等号把 a"hello word" 连接起来的意思

        • 把数据hello word这个字符串赋值给 a 这个变量,等号右边赋值给等号左边;
      • 其中""''这种包裹的类型,在JS中称为字符串,是一种数据类型;

        • 再次强调:双引号 " 和单引号 ' 不能混合使用
        • 字符串还可以使用模板字符串 `` 来实现
      • 下面这些在JS中都是合规的写法,分别代表不同的类型

        var string="2222";				//字符串
        var symbol2 = Symbol(42);	//symbol
        
        var testNum=2;						//数字
        var testNum2=2n;					//bigint
        
        var tetBool=true;					//布尔值
        
        var testUndef=undefined;		//understand
        var testNull=null;					//null
        
        var tetFun=function () {};	//函数
        var testObj={name:"anbang"};//对象,JS中的一切数据的基础;
        
        
        
      • 变量类型是由分配数据时候决定的(赋值后才决定的),所谓的变量类型,其实就是数据类型;

      • 先了解下JS中的数据类型:

        • 基本数据类型
          • stringsymbolnumberbigintbooleannullundefined
        • 引用数据类型
          • object : {}、[]、/^$/、Date
            • 特殊的 function
      • 数据和数据类型是学编程的第一件事;

      JavaScript的数据类型相比别的语言比较简单;

      Javascript中数据类型的typeof判断

      • 最简单的检测数据类型的方式是通过typeof的方式来检测;
      • typeof 后面加所需要判断的数据或者变量即可;
      • string、symbolnumberbigint、boolean、null、undefined、Object(function)
      var string="2222";	//字符串
      var symbol2 = Symbol(42);	//symbol
      
      var testNum=2;						//数字
      var testNum2=2n;					//bigint
      var tetBool=true;						//布尔值
      var testUndef=undefined;		//understand
      var testNull=null;					//null
      var tetFun=function () {};	//函数
      var testObj={name:"anbang"};//对象,JS中的一切数据的基础;
      
      console.log(typeof string);		//string
      console.log(typeof symbol2);		//symbol
      console.log(typeof testNum);	//number
      console.log(typeof testNum2);	//bigint
      console.log(typeof tetBool);	//boolean
      console.log(typeof testUndef);	//undefined
      console.log(typeof testNull);	//object
      console.log(typeof tetFun);		//function
      console.log(typeof testObj);	//object
      

      数据类型的意义

      数据类型的多少是由这门编程语言的应用场景决定的;

      JavaScript的类型有数字、bigint、symbol、字符串、布尔值、函数和对象。

      还有undefined和null,以及数组、日期和正则表达式。

      • 有多少数据类型是由这种语言的作用决定的, 最直接的就是这种语言需要解决什么问题?
      • sql语言,JAVA语言的类型比JS多很多,那是因为那些语言要做的事情决定的,
      • 而JS是一门轻量级的脚本语言,虽然不够完善,但是已经可以解决日常开发所需要的事情了,后面升级只是对以前的严禁写法和升华;

      Javascript中代表的数据的变量,可以随意修改类型;

      但是不建议这么做;

      //Javascript中代表的数据的变量,可以随意修改类型;但是不建议这么做;
      var testVar=2;
      console.log(typeof testVar);//number
      testVar="3";
      console.log(typeof testVar);//string
      
      testVar=true;
      console.log(typeof testVar);//boolean
      
      testVar=undefined;
      console.log(typeof testVar);//undefined
      
      testVar={name:"anbang"};
      console.log(typeof testVar);//object
      

      虽然上面,一个变量可以随便的写,但是这样做会使变量边混淆;

      如果你把一个变量保存为某种数值;那么推荐你这个变量不要在别的地方再使用;

      这样写出来的程序会非常清晰;

      不推荐一个变量,用于多种用途;

      var total = 0;    //用来储存统计;
      var timer = null; //用来储存定时器
      

      console.log

      console.log方法能接收多个参数,有下面2种写法

      • console.log("string" + num);
      • console.log("string", num);

      为了方便,模板字符串也在被大量经常的使用

      • console.log(`阿西河前端教程 - ${2+1}`);
      console.log("info","haha");
      console.log("info2"+"haha2");
      
      console.warn("这是一段警告信息");
      console.error("出错啦,你的配置信息有误");
      
      console.log(`阿西河前端教程 - ${2+1}`)
      

      当然单个的也是可以的;

      console.time 和 console.timeEnd

      演示见下面

      console.assert

      console.time("hahaha");
      //    alert("22222");
      console.log("info","haha");
      console.log("info2"+"haha2");
      
      console.warn("这是一段警告信息");
      console.error("出错啦,你的配置信息有误");
      
      //    alert(typeof "22");
      
      //    断言
      
      var a=1;
      var b=2;
      //=  ==
      //=  这是用来赋值的;
      //== 这个是用来判断的
      console.assert(a===1,"这时候条件是a==1,实际a是1");
      console.assert(b===1,"这时候条件是b==1,实际b是2");
      
      //性能分析;
      console.timeEnd("hahaha");//6.50390625ms
      
      // console.dir(window);
      
      目录
      目录