美文网首页
JS数据类型,类型转换

JS数据类型,类型转换

作者: 洋葱大大 | 来源:发表于2017-05-17 14:55 被阅读0次

ECMAScript:标准、核心
HTML 标签类型:block、inline、inline-block、table……
JS中的数据类型:数字(Number)、字符串(String)、布尔(boolean)、函数、对象(obj、[]、{}、null)、未定义(undefined)

typeof 判断数据类型

  • typeof操作符的操作数可以是变量也可以是数值字面量。
var i = 100;
 alert( typeof i );           // number
 alert(typeof 100);        //number
var s = ' miaov ';
 alert( typeof s );               // string
 alert( s.length );               // 7
 alert( s.charAt(3) );        // 'a'
var b = true;               // 布尔值:true  false
 alert( typeof b );       // boolean
var arr=[5,6,9,3];
alert(typeof(arr));     //object
var obj = document;
 alert( typeof obj );             // object  物体、东西、对象
var n = null;
 alert( typeof n );            //object(从逻辑角度看,null值表示一个空对象指针,所以会返回object)
var a;
alert(typeof a);   //undefined

数据类型转换-number

  • JS中有三个函数可以将非数值转化为数值:Number(),ParesInt(),ParesFloat()。
  • 区别:Number()可以用于任何数据类型,而另外两个函数专门用于把字符串转换成数值

Number()函数的转换规则如下

  1. 如果是boolean值,true和false会分别转化为1和0;
    var a=true;
    alert(Number(a));  // 1
  1. 如果只是数字值,只是简单的传入和返回。
    var a=100;
    alert(Number(a));  // 100
  1. 如果是Null值,则会返回0;
var a = null;
// alert( Number(a) );             // 0
  1. 如果是undefined,函数,json则都返回NaN;
var json = {};
// alert( Number(json) ); //NaN
var u;
// alert( Number(u) );  //NaN
var a3 = function (){ alert(1); };
// alert( Number(a3) );           // NaN
  1. 如果是字符串,遵循下列规则:
  • 如果字符串中只包含数字(包括正负,并且前导的零会被忽略),则将其转换为十进制数值
var a = '+100';
 alert( a+100 );      // '100100'
 alert( Number(a) );          // 100
  • 如果字符串中包含有效的浮点数,则将其转化为对应的浮点数
    var a=2.123;
    alert(Number(a)); //2.123
  • 如果字符串中包含有效的十六进制格式,如'0xf',则将其转化为相同大小的十进制数值
 var a=0xAD;
 alert(Number(a));  //173
  • 如果是空字符串(不包含任何字符),则将其转换为0;
var a1 = '    ';
// alert( Number(a1) );     // 0
  • 其他格式的字符串将会被转化为NaN;

parseInt()转换规则如下:

  1. 它会忽略字符串前面的空格,直至找到第一个非空字符,如果第一字符不是数字符号,则返回NaN。
  2. 空字符串也会被转换为NaN。
  3. 从第一数字字符开始解析,直到解析到最后一个数字字符或者遇到一个非数字字符则会停止解析,相应的小数点也不会被解析。
  4. 当需要解析进制数时最好在函数中添加第二个参数:转换时使用的基数(即多少进制的数字)。
var num=parseInt('0xAF',16) //175

parseFloat()的与parseInt()的一些区别:

  1. 它解析的第一个小数点有效,第二个小数点无效。
  2. 前导0会被忽略,所以只能解析十进制
//特殊的一些转换
var a=parseFloat('0xAF');  //0
var b=parseFloat('3.125e7'); //31250000

相关文章

  • JS里的数据类型转换

    在js中,数据类型转换分为显式数据类型转换和隐式数据类型转换。 1, 显式数据类型转换 a:转数字: 1)Numb...

  • 2、强制数据类型转换

    数据类型转换: 在js中,数据类型的转换有两种,分别是自动转换和强制转换 自动转换: 自动转换是用JS进行某些操作...

  • javaScript中数据类型转换方法

    JS 数据类型转换 方法主要有三种 转换函数、强制类型转换、利用js变量弱类型转换。 1. 转换函数: js提供了...

  • 数据类型转换

    JS 数据类型转换 方法主要有三种 转换函数、强制类型转换、利用js变量弱类型转换。 1. 转换函数: js提供了...

  • JavaScript的显式转换和隐式转换

    js的显式转换和隐式转换都是数据类型的转换;js的数据类型是弱类型的,即可以给变量赋值为任意的数据类型,当进行运算...

  • JavaScript学习笔记.md

    学习材料————廖雪峰js教程 数据类型 ===与== == 自动转换数据类型再比较;=== 不转换类型 (更好...

  • JS隐式数据类型转换

    隐式数据类型转换介绍 前面有总结过 JS数据类型转换 Number(), toString(), parseInt...

  • ECMAScript 之数据类型转换(上)

    前言 将数据从一种类型转换为另一种类型称为数据类型转换。 数据类型转换分为两种: 显示数据类型转换:直接调用 JS...

  • JS里的数据类型转换

    上一篇文章(JS里的数据类型)介绍了js中的数据类型。这篇主要介绍数据类型转换。 一、任意类型转字符串 转换成st...

  • JavaScript类型转换

    在js中数据类型转换一般分为两种,即强制类型转换和隐式类型转换(利用js弱变量类型转换)。 强制类型转换 即通过使...

网友评论

      本文标题:JS数据类型,类型转换

      本文链接:https://www.haomeiwen.com/subject/mjnrxxtx.html