JavaScript基础(二)数据类型

javascript的变量一些问题

  关于定义及undefined和 is not defined

<script type="text/javascript">
    a=40;
    console.log(a);//可以输出a=40,但不推荐,最好用var a = 40;
    console.log(b);// b is not defiend
    var c;
    console.log(c);// a undefiend
</script>

  两个变量值的交换

<script type="text/javascript">
    //不使用第三个变量,交换两个变量的值
    var a = 50;
    var b = 40;
    a = a + b;//a=90;b=40;
    b = a - b;//a=90;b=50;
    a = a - b;//a=40;b=50;
</script>

js是弱类型语言

  • 会根据值去推断是什么类型。
    •   js提供了 typeof name方法来判断是什么类型
  • 对于boolean数据里的true和false,用1和0参与运算。 
    •   数字 + 字符串:数字转换为字符串
    •   数字 + 布尔值:true转换为1,false转换为0
    •   字符串 + 布尔值:布尔值转换为字符串true或false
    •   布尔值 + 布尔值:布尔值转换为数值1或0
  • 任何值都可以转换boolean
    •   空字符串,0和NaN,null,undefined 是false,其他都是true
  • 数值问题
    •   Infintiy和-Infintiy:无穷大和无穷小
    •   NaN :非数值(Not a Number)
    •   NaN和任何值都不相等,包括NaN
    •   isNaN() 任何不能转换成数值的都会返回true 
      •   isNaN(“abc”);//true
      •   isNaN("1");//false

js的数据类型转换

  • toString(); null和undefined没有toString()方法,可用String();
  • String();//String(null);
  • Number(); //对于字符串中有字符返回NaN,代码如下
  • parseInt()和parseFloat(); //对于字符串中第一个是字符返回NaN,否则返回字符前的数字

  上代码

//注意
//parseInt("值","进制");
parseInt("12.3abc");//返回12
parseInt("abc12.3");//返回NaN
parseInt("");//返回NaN
Number("");//返回0
Number("1223a");//返回NaN

对于运算符

  1. 对除0,返回Infinity;对0取模的时候返回NaN
  2. ++a; // a = a+1;表达式返回a的值
  3. a++;//表达式先返回a的值,在计算。

对于js数组

  • 有序列表
  • 任意类型
  • 数组大小可变

  

  

猜你喜欢

转载自www.cnblogs.com/yuan1994/p/11183898.html
今日推荐