JavaScript的基本变量类型

认识js:

JavaScript(简称js):直译脚本语言,是一种弱类型的解释性语言,它依赖于宿主环境,一般为浏览器

  浏览器内嵌了JS解释器(解读JS代码,翻译为机器可以看懂的语言)

注:弱类型:声明变量时不需要规定类型

js组成部分:

es语法标准 ECMAScript

dom文档对象类型 Document Object Model

bom浏览器对象模型 Brower Object Model

变量与数据类型

调试错误:console.log() 日志,打印变量/对象:在需要查看变量具体是什么的时候,将其打印出来看它的结果

一般不用alert()去进行调试,它会阻塞后面代码的执行

  
  <script>
      console.log()
  </script>

变量的命名规范
  1. 不能是中文

  2. 不能使用数字开头

  3. 不能使用关键字、保留字(未来可能会成为有特殊作用的关键词)作为名字

      
      声明变量的关键字: let/const

  4. 秉持见名知意的原则,由字母、数字、_、$进行自由组合

  5. 采用驼峰命名法(例如:oDiv)

变量声明
  • let

      
      <script>
          let x = 100
          let y = 200
          
          //  x=100  不要漏写let
          /*声明变量只需要声明一次,不需要重复声明
            使用变量就是使用变量里存储的值 
          */
          
          x = 300 //修改值,可反复修改,但是为覆盖式
         
      </script>

  • const

      
      <script>
          const x = 100
          x = 200 // 错误,不能修改
          
          /*
              const和let差不多一样,区别在于:
              const在声明时必须赋值,并且后期不可以通过 = 修改值,是恒定不变的常量
              const声明的常量的命名一般是
          */
          
          x = 300 //修改值,可反复修改,但是为覆盖式
         
      </script>

数据类型(主要为8种)
  • number 数字

      
      <script>
          let num1=1.0
          console.log(typeof num1);
      ​
          
          /* 
              JS不区分整数和小数
              NaN 表示坏掉的数字,坏值
          */
      ​
          console.log(100 === 100) // 是true/否false
          console.log(NaN === NaN) // false,原因是坏值也有很多种
          
      ​
           /*
                运算符:判断是否完全相等
                === 全等于,判断左右两边的值是否完全相等,相等则会返回结果true,不相等就返回结果false
          */
      ​
      ​
       </script>

  • string 字符串

      
       <script>
            let str1 = '编程有点难'
            let str2 = "编程有点难"
            let str3 = `编程有点难` /字符串的三种书写方式
      ​
            let str1 = "小明说:'今天有雨'. " 
            /*
            '、"或者`会自动找到距离最近的另一半进行配对,因此可以不同书写方式混合使用
            */
            
            let str4 = '我学习了'
            let num1 = 1
            let str5 = '门编程语言' 
      ​
            console.log(str4 + num1 + str5)
            /*
              运算符为 +
              +号左右两边都为数字类型,会进行加法运算
              +号左右两边任意一边为字符串,则会进行拼接,拼接后形成1个新的字符串
            */
      ​
            
            /*
                字符串的拼接:
              let people = "小红"//引号包裹的文字都会变成普通的文字,失去附加的功能意义
            
            
              console.log('小明给了'+ people + '一个大鼻窦')//不推荐
              console.log(`小明给了${people}一个大鼻窦`)
              //推荐的拼接字符串的方式
            */
          </script>

    字符串的长度:字符串内字符的总数量(在编程中的长度指的是数量)

      
      <script>
          
          let str = "斗罗大陆"  //长度为4
          console.log( str.length ); //length: 获取字符串的长度
      ​
       </script>

  • boolean 布尔信

      
         <script>
            
              let bool1 = true 
              let bool2 = false
              /*
                布尔类型:true真(是), false假(否)
                应用场景:用来做判断条件
              */
            
          </script>

  • undefined 未定义

      <script>
      ​
          let y; //定义变量但不赋值,js会为其添加默认值undefined
          console.log(y); //在页面控制台中会显示undefined
            
      </script>
      ​

  • null 类型:空,什么都没有,无

  • object 类型

    对象类型,有很多种:数组、普通对象、DOM节点、函数、内置对象...

    数组:(批量存储数据)

    • 有序存储多条任意类型的数据,每条数据使用,隔开

      <script>
      ​
          let arr = [10, "下班",true, 666n] //定义数组变量
          console.log(arr);
          console.log(arr[0]); //取值的写法:arr[下标]
          console.log(arr[1]);
          console.log(arr[2]);
          console.log(arr[3]);    
          //下标(序号):从0开始
      ​
          console.log(arr[7]) //获取不存在的下标成员值是undefined
      ​
          arr[1] = "加班"
          //通过 = 来修改值,(修改就是赋予其一个新值)
          arr[6] = "不想加班" 
          /*
              往数组内指定位置增加成员(值),不推荐跨空位添加成员,会导致出现很多空位empty
              通过下标位置新增成员一般时间以在尾部追加成员
          */
      ​
          console.log(arr.length) //数组长度(数组的总成员数)
      </script>
    那么数组里面可以放数组吗?

    当然可以,内部嵌套数组的数组叫多维数组

      <script>
      ​
          let arr = [10, ["下班",true], 666n]
          console.log(arr[1][0])// 取数组内嵌套数组的值
            
      </script>

    普通对象:

    {}包裹,已键值对的格式来存储多条任意类型的数据(无序),键值对由键名和属性名组成,属性名命名尽量见名知意

      <script>
      ​
          let obj = {name:"小华",sex:"男",age:"16"}
            
      </script>

  • symbol 符号

    用来生成1个独一无二的值,避免重名的冲突(避免对象中属性重名的冲突)

      
      <script>
      ​
          let x1 = Symbol() //创建1个独一无二的值
          let x2 = Symbol()
          console.log(x1 == x2)
      ​
          let s1 = Symbol("1") // 打标记,"1"仅仅是给开发者肉眼区分的功能,开发时使用较少
          let s2 = Symbol("2")  
          
      </script>

  • bigInt 大常数

      
      <script>
      ​
          let num = 100n
           console.log(num);
          /*
              BigInt 类型开发时使用很少,用于超大范围的数字的整型运算,避免丢失精度(number数字9007199257610991就是一个超大范围的数字)
              只能用于整数,不能用于小数,如果运算产生了小数,显示结果会将小数全部去掉
              作用:表示超大整数,或者高精度时间戳
          */
            
          //100n - 100 错误,不能和数字(number类型)进行运算,只能与同类型数据进行运算
          
      </script>

提示:

typeof 检测数据的类型(是一种比较粗糙的工具,仅供参考)

  
  <script>
      
      let num1=1.0
      console.log(typeof 1-"shuzi");//非法运算得到坏值,NaN
      console.log(typeof NaN);//打印出来会显示number
    
   </script>

vscode 快捷键

缩进 tab

反缩进 shift + tab

自动换行 alt + z

向下复制一行 alt +shift + 下方向键

向上复制一行 alt +shift + 上方向键

换行 alt+上下方向键

注释 ctrl + /

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值