JS的六个基本数据类型及相关方法

1, Undefined类型

:只有一个值即特殊的undefined
(1) 只声明变量而未初始化会输出undefined
(2)未声明变量时会产生错误;但对该变量进行typeof操作时会输出undefined

2, Null类型

:只有一个值null。
(1) 从逻辑角度看null表示一个空对象指针,则用typeof操作符对其进行操作时输出的会是object

 alert(typeof (null));//输出结果是object(对象)

(2)如果声明的变量准备在后面用于保存对象,那最好将该变量先初始化为null而不是其他值;这样的话只要直接检测null值就可以知道是否已经对该变量保存了一个对象的引用

var a = null;
    a = 1;
    if(a != null) {
        alert(a已经被赋值);
    }

3, Boolean(布尔值)类型

:只有true和false两种值
Boolean()方法用法:

var message = "i am a girl";//字符串的数据类型
 var messageBoolean = Boolean(message);

4, Number类型

:用于表示整数和浮点数值
(1)整数:
八进制:第一位必须是0且每一位必须是八进制序列0-7;如果超出范围前导0将被忽略,后面值被当作十进制来解析

var num1 = 070;//输出结果为八进制的56
var num2 = 079;//无效;输出结果为79
var num3 = 08;//无效;输出结果为8

十六进制:前两位必须是0x后面跟0-9及A-F(大小写无所谓)

var num4 = 0xA;//输出结果为十六进制的10
var num5 = 0x1F;//输出结果为十六进制的31

进行算数计算时所有的进制都将会被转换成十进制数值
(2) 浮点数值:数值中必须包含一个小数点

var num1  = 1.;//解析为1
var num2 = 10.0;//解析为10
var num3 = 3.01e7;//等于3.01*10的七次方

(3) 数值范围:
最大数值保存在Number.MIN_VALUE中
最小数值保存在Number。MAX_VALUE中
如果超出了范围数值会自动的成特殊的-Infinity(负无穷)或者Infinity(正无穷)
isFinite()函数:其参数如果在范围之内就会返回true

var num = Number.MAX_VALUE + Number.MAX_VALUE;
alert(isFinite(num));//结果为false

(4): 非数值(即Not a Number)

  • <1> 两个特点 :

任何涉及NaN的操作都会返回NaN
NaN与任何值都不相等

  • <2>isNaN()方法

接收到一个值后会先尝试将这个值转换成数值,可以转换的话,会返回false,如果不能转换就会返true
数值转换的三个函数:

  • <3>数值转换的几个函数

    number()方法
    适用于任何数据类型。转换规则为:
    Boolean值:

   var a = "";//空字符串
    var b = "abc";//字符串
   console.log(Boolean(a));//输出为false
    console.log(Boolean(b));//输出为true
    console.log(Number(Boolean(a)));//输出为0
    console.log(Number(Boolean(b)));/输出为1

null值:

console.log(Number(null));//输出为0

undfeined值:

console.log(Number(undefined));//输出为NaN

string值:

  var a = Number("");//空字符串,输出为0
  a = Number("011");//前导0会被忽略,输出11
  a = Number("01.1");//输出1.1

object:
如果是对象,则调用对象的valueOf方法,再按照前面的规则转换返回得值。如果转换的结果是NaN,再调用对象的toString()方法,再按照前面的规则转换返回的字符串值

parseInt()方法:
专门用于把字符串转换成数值

    var num = parseInt("520love");//输出1234
    var num1 = parseInt("");//输出NaN
    var num2 = parseInt("070");//输出56(前导为0,则为八进制)
    var num3 = parseInt("ox2a");//输出42(前导为ox,则为十六进制)
    var num4 = parseInt("20");//输出20(十进制)
    var num5 = parseInt("5.21");//输出5(小数点为非数字字符,解析)

因为ECMAscript3和5在使用该函数在处理像八进制字面量时会存在分歧,所以一般建议该函数使用两个参数。例如:

   var num1 = parseInt("0xa2",16);//输出十六进制的162(可以省略前导0x)
    var num2 = parseInt("01",2);//输出二进制的1

parseFloat()方法
专门用于把字符串转换成数值
始终会忽略前导0,只解析十进制。例如:

    var num1 = parseFloat("789abc");//输出789
    var num2 = parseFloat("0xA");//输出0
    var num3 = parseFloat("33.14");//33.14
    var num4 = parseFloat("33.12.4");//33.12
    var num5 = parseFloat("098.6");//98.6
    var num6 = parseFloat("2e2");//200

5,String类型:

例如:

 var num1 = "iamagirl";//用双引号
    var num2 = 'hinihao';//用单引号

toString()方法:其参数可以传递基数

   var num = 20;
   alert( num.toString(8));//输出"24"
    alert(num.toString());//默认是十进制,输出20
    alert(num.toString(2));//1010

当不知道要转换的值是null或undefined值的情况下,可以使用适合任何数据类型的String()函数

  var num1 = null;
  var num2 ;
  alert(num1.toString());//程序会报错,因为该值没有toString()的方法
  alert(num2.toString());//程序会报错,因为该值没有toString()的方法
  alert(String(num1));//输出"null"
  alert(String(num2));//输出"undefined"

6, Object类型

:就是一组数据和功能的集合。
可以通过执行new操作符以及要创建的对象名称来创建对象。
创建Object类型的实例并为其添加属性和方法,就可创建自定义对象。
例如:

 var o = new Object();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值