js学习-变量、数据类型、类型转换

变量
  • 声明变量

    • 通过var关键字声明变量
    • 可以声明变量的同时给变量赋值
    • 可以一次声明一个变量也可以一次声明多个看变量
    • 如果只声明变量未对其赋值,默认值为undefined
    • 如果变量重名产生覆盖
    • 注意
      • 变量严格区分大小写
      • 变量名称不要包含特殊字符
      • 变量名称最好遵循驼峰标记法或者下划线法
      • 变量名称最好含义明确
  • 变量在内存中的存储与释放

    • 收集方式
    • 收集内容
    • 回收算法
原始数据类型(与c++相似)
  • 数值型
    • 十进制数

    • 十六进制

      • 0x0
        0XABCDEF
        0x1a2b3c4d
    • 八进制数

      • 00
        0123
        0241234
    • 特殊值

      • Infinity无穷大

      • NaN
        0/0
        可以通过isNaN()检测值是否为NaN

        NaN是唯一一个不能和自身做比较的值

    • 字符串型
      • 定界符
      • 转义符
    • 布尔类型(不能写成大写形式)
      true|false

转义符:

1、如果要定义一个: king‘s的变量,不能写成var username = ’ king’s ’ 会报错,要定义成:var username = “ king’s ” 单引号变成双引号.

2、

var txt="we are "伐木累" from runningman";
document.write(txt);

上述字符串将被截成:we are

要解决这个问题,就要在 “伐木累” 中的两个引号前面加上反斜杠" \ ",这样的用法会把每个双引号转换为字符串

var txt="we are \"伐木累\" from runningman";
document.write(txt);

上述字符串就能正常输出:we are “伐木累” from runningman

代码输出
\ ’
\ ""
\ &&
\ \\
\ n换行符
\ r回车符
\ t制表符
\ b退格符
\ f换页符

\ n 例子:

<script>
    var str2='a\nbcd';
    alert(str2);
</script>

在这里插入图片描述

特殊数据类型
  • 无定义数据类型undefined

  • 空值null

    • null表示空值,表示什么都没有,相当于一个占位符。

    • null和undefined的区别就是undefined表示变量未被赋值,而null表示变量被赋予了一个空值。

类型转换
  • 隐式转换

    • 转换成布尔类型
      undefined->false

      null->false

      var a;//变量类型为undefined
      //alert(typeof a); 会出现undefined的窗口,typeof得到变量的类型
      a = null;//或者a = undefined / 0 / 0.0 / NaN / ' ' ;
      if (a){
          alert('真');
      }
      else{
          alert('假');
      }
      //都会出现"假"的窗口
      //a = '0'-->不是空字符串,会显示"真"
      • 转换为数值型数据

        var b = undefined;//undefined->NaN  弹出窗口,显示“NaN”
        b = null;//null->0  弹出窗口,显示“1”
        b = true;//true->1   弹出窗口,显示“2”
        b = false;//false->0  弹出窗口,显示“1”
        alert(1+b);//这个是转换数值型数据的关键
        //如果是alert(b);网页会弹出字符串类型的值
        
        var c = '12';//弹出窗口,显示“12”
        c = '3king';//弹出窗口,显示“NaN”
        c = 'true';//弹出窗口,显示“NaN”
        alert(c*2);//这个是转换数值型数据的关键
        alert(c+1);//c = '3king'会弹出:3king1,因为是拼接字符串

        alert(1+b);

      在这里插入图片描述

      alert(c*2);

      在这里插入图片描述

      • 转换为字符串型数据

        document.write(undefined);
        document.write('<br/>');
        
        document.write(null);
        document.write('<br/>');
        
        document.write(NaN);
        document.write('<br/>');
        
        document.write(123);
        document.write('<br/>');
        
        document.write(true);
        document.write('<br/>');
        
        document.write(false);
        document.write('<br/>');

        在这里插入图片描述

document.write(1+1);//显示“2”
document.write(1+'1');//显示"11"
alert(1+'1');//拼接字符串
alert('2'+12);//拼接字符串
  • 显示转换

    • 转换成数值

      • Number函数强制转换成数值

        数值->转换成原来的值
        字符串->如果可以解析为数值,则转换成数值;否则转换成NaN或者0
        true->1,false->0
        undefined->NaN
        null->0

        var test = Number(true);
        alert(test);
        var test = Number(123);
        alert(test);
        //字符串类型
        var test = Number('123');
        alert(test);
        var test = Number('3king');
        alert(test);

        在这里插入图片描述

    • 转换成整型
      praseInt()
    • 转换成浮点型
      praseFloat()
    • 注意
      Number函数将字符串转换为数值比praseInt函数严格很多。基本上只要有一个字符无法转换成数值,整个字符串就会被转换成NaN
    • 转换成字符串

      • 通过String函数转换成字符串
        数值->数值本身
        字符串->字符串本身
        true->“true”,false->“false”
        undefined->“undefined”
        null->“null”

        var test = String(NaN);
        alert(test);

      在这里插入图片描述

      • 转换成字符串型
        toString()
    • 转换成布尔类型

      • 通过Boolean函数强制转换成布尔值

        下面这些情况会转换成false:

        ​ 0、-0、0.0 ->false
        ​ NaN->false
        ​ 空字符串->false
        ​ undefined->false
        ​ null->false

        var test = Boolean(NaN);
        alert(test);

        在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值