js数据类型

Undefined -- 未定义类型

Undefined类型只有一个值,即 undefined。

1)使用var声明变量但未赋值时,这个变量的值就是undefined。检测其类型也是 undefined。
var  a;
console.log(a);//a=undefined
console.log(typeof a);//"undefined"

2)变量从未定义过 ,他的类型为undefined ,值报错。
console.log(e);       //报错  e is not defined
    console.log(typeof e);//"undefined"

Null -- 空类型

Null类型是第二个只有一个值的类型,这个特殊值是null。null值表示一个空对象指针。
Null是特殊的对象类型:object

    var  car = null;
console.log(car);//null
console.log(typeof car);//"object"    

Boolean -- 布尔类型

Boolean类型是ECMAScript中使用得最多的一种类型。

Boolean类型只有两个值:true(真) \ false(假)。

    var str = "hello world!";
console.log(Boolean(str));//true
1、除0和NaN之外的所有数字,转换为布尔型都为true    
2、除"" 之外的所有字符,转换为布尔型都为true
3、null和undefined转换为布尔型为false

*Number -- 数值类型
*NaN:not a Number 不是一个数字 特殊的数值类型
表示一个本来要返回数值的操作数未返回数值的情况。

NaN特点:1)任何涉及NaN的操作都会返回NaN。
2) NaN与任何值都不相等,包括NaN本身。
alert( NaN == NaN ) //false

isNaN:判断参数是否"不是数值"。如果是数值返回false,不是数值返回true;

alert(isNaN(NaN)); //true
alert(isNaN(10)); //false(10是一个数值)
alert(isNaN("10")); //false(可以被转换成数值10)
alert(isNaN("hello")); //true(不能转换成数值)
alert(isNaN(true)); //false(可以被转换成数值1)

Number():转型函数Number()可以用于任何数据类型

     Number(true)  //1        
     Number(false)   //0
     Number(22)  //22        
     Number(null) //0
     Number(undefined) //NaN 
     Number("123") //123   
     Number("2.11")  //2.11
     Number("")  //0     
     Number("11asdf")  //NaN 

parseInt()和parseFloat()这两个函数则专门用于把字符串转换成数值。
parseInt():从第一位起取到整数部分

     parseInt("1234blue") //1234
     parseInt("")   //NaN  ( 区别:Number("")  //0)
     parseInt("   112abc")  //112
     parseInt("22.5")  //22   

parseFloat():从第一位起取到小数部分(只识别第一个小数点),只解析10进制数。

     parseFloat("1234blue") //1234
     parseFloat("22.5") //22.5
     parseFloat("22.5.22") //22.5

*String -- 字符串类型

字符串可以由双引号或者单引号表示。

var str = "hello world"; 
var str = 'hello world';   

*查看字符串的长度:length属性

    var str = "hello world"; 
    console.log(str.length);//11

查看字符串相应位置的字符。

    var str = "hello world"; 
    console.log(str[1]);//e

String(变量)
强转函数,可以转化任何类型的值

     var num1;
    String(123)    //  "123"
    String(3>4)    //  "false"
    String(3<4)    //  "true"
    String(num1)   //  "undefined"
    String(null)   //  "null"

  * "+"也可以把某个值转换为字符串,也可以拼接多个字符串。

    var str = 111+""; //"111"
    var str = "hello" + " world"; //"hello world" 

*Object -- 类型 :ECMAScript中的对象其实就是一组数据和功能的集合

var o = {};   \\对象字面量方法创建
var o = new Object(); \\构造函数方法创建

   
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.JavaScript 定义了几种数据类型? 哪些是原始类型?哪些是复杂类型?原始类型和复杂类型的区别是什么? ...
    gigi1226阅读 2,944评论 0 0
  • 一、初识数据类型 1. 概要 JavaScript 语言的每一个值,都属于某一种数据类型。JavaScript 的...
    莫藤苔阅读 3,345评论 0 0
  • JavaScript 定义了几种数据类型?哪些是原始类型?哪些是复杂类型?原始类型和复杂类型的区别是什么? 数据类...
    Tuuu阅读 1,898评论 0 0
  • 数据类型: 数据类型指的就是字面量的类型 在JS中一共有六种数据类型 String 字符串 Number 数值 B...
    啊烟雨阅读 3,587评论 0 0
  • 使用Number函数,可以将任意类型的值转化成数值。 下面分成两种情况讨论,一种是参数是原始类型的值,另一种是参数...
    青春前行阅读 3,325评论 0 0