JavaScript入门(二)-显示类型转化和隐式类型转化等

JavaScript入门(二)-显示类型转化和隐式类型转化等

一、对象

    // 对象也属于引用类型,键:值格式。例如:
    //创建一个对象
    var person = {
        firstName: "John",
        lastName: "Doe",
        age: 50,
        eyeColor: "blue"
    };
    // 取值方式
    fName=person.firstName;
    //赋值方式
    person.firstName="Mike";

二、typeof()

返回参数的类型,返回内容为参数的类型名称(字符串格式)
返回的类型有number string boolean object undefined function
其中object反之引用类型对象,包括对象,数组,null(历史遗留问题)。

三、类型转换

1. 显式类型转换

Number()

将所有类型的数据转化为数字,如若不能转化为某数,则为数字类型的NaN

    // 例如

    Number("123");//返回值为123
    Number("-123");//返回值为-123
    Number("133.3");//返回值为133.3
    Number("123a");//返回值为NaN,(无法转化为某数)
    Number("a");返回值为NaN,(无法转化为某数)

    Number(null);//返回值为0
    Number(false)//返回值为0
    Number(true)//返回值为1
    Number(undefined)//返回值为NaN
parseInt()

将所有类型的数据转化为整型数字(十进制),如果不能转化则数字类型为NaN。与Number()不同的是规则存在不同

  • 将第一次遇到非整型数字符号之前的数字转化为整型数字,如若不能则为NaN
    //例如
    
    parseInt("123");//返回值为123
    parseInt("-123");//返回值为-123
    parseInt("133.3");//返回值为133,“.”之前的转换
    parseInt("123a");//返回值为123。
    
    parseInt("a");返回值为NaN,(无法转化为某整型数)
    parseInt(null);//返回值为NaN
    parseInt(false);//返回值为NaN
    parseInt(true);//返回值为NaN
    parseInt(undefined);//返回值为NaN


    //初次以外,parseInt()还可以双参数
    parseInt(value,radix)

    //radix表示value的进制
    parseInt(14,8);//此时返回值为12

parseFloat()

将所有类型的数据转化为浮点型数字,如果不能转化则数字类型为NaN。与parseInt()的规则十分相似

  • 将第一次遇到非浮点型数字符号之前的数字转化为浮点型数字,如若不能则为NaN
    //例如
    
    parseFloat("123");//返回值为123
    parseFloat("-123");//返回值为-123
    parseFloat("133.3");//返回值为133.3,“.”之前的转换。此处不同于parseInt()
    parseFloat("123a");//返回值为123。
    parseFloat("-123.3456a");//返回值为-123.3456。此处不同于parseInt()

    //此部分和praseInt()相同
    parseFloat("a");//返回值为NaN,(无法转化为某整型数)
    parseFloat(null);//返回值为NaN
    parseFloat(false);//返回值为NaN
    parseFloat(true);//返回值为NaN
    parseFloat(undefined);//返回值为NaN

String()

将其他类型转化为字符串类型输出,不难理解


    //例如
    
    String(123);//返回值为"123"
    String("-123");//返回值为"-123"
    String(-123.3456a);//会报错
    String("a");//返回值为"a"
    String(null);//返回值为"null"
    String(false);//返回值为"false"
    String(true);//返回值为"true"
    String(undefined);//返回值为"undefined"

toString()

使用方法与String()不同,效果与其相似,其将数字转化为字符串时具有进制转化功能


var a=16;
a.toString();//此时返回结果为"18"

//toString(radix);

a.toString(7);//此时返回值为"22"

2,隐式类型转换

isNaN(value)

该函数会先将value值,调用用Number(),如果Number(value)为NaN,返回true;否则,返回false。

++ – +(正) -(负) --注意,此处不为加减运算

再该运算符运算之前,会将其先转化为数字。

    var a = "123";
    a ++;
    documnent.write(a);//此时a为124

    var b = "1"
    b = -b;//此时,b为-1


    var c = NaN;
    c ++;
    document.write(c);//c为NaN
+ (加号)

对于“+”

  1. 数字运算,字符串连接  
  2. 任何类型加上字符串最终结果都会变为字符串。
- * / %

该类型都会转化为数字类型,效果类似于 ++ – +(正) -(负)

    var c = 2 * "3";//此时结果为6
    var a = "4" / 2; //此时结果为2
    //等等,规则相似
&& || !

该运算符的隐式转化已在以前文章介绍过,在此不多介绍。

> < == !=
  • 字符比较数字,字符会优先转化为数字

  • 但在"==,!="要注意的特例是,只有undefined 、null仅相互相等,NaN不等于任何数据,包括自己NaN

  • 不发生类型转换的有 === (绝对等于) !==(绝对非等于),例:“1”!==1;


以上,此为本人学习过程中的笔记,可能因为能力不足存在一些不足,还请大家多多包涵和给予建议,共同进步。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值