JS类型转换(显示、隐式)

1、类型转换(显示、隐式)

显示类型转换:

​ 1、parseInt 转换成整数

var a = '123.1px';
console.log(parseInt(a)); //123 将一个string转换成整数,只取第一个整数

​ 2、parseFloat 转换成浮点数(小数)

var a = '123.2';
console.log(parseFloat(a));//123.2

​ 3、toString 转换成字符串

​ 其他类型跟字符串拼接,那么拼接之后就是字符串类型

var a = 123;
var b = c.toString();
console.log(typeof b);

隐式类型转换(没有通过其他手段进行转换)

1、两边都是数字类型的字符串,要有运算符相连

console.log(3 * '8'); //24
console.log('3' * '8'); //24
​
console.log(3 * null);// null会转换成0
console.log(3 * false);//false转为0
console.log(3 * true);//true转为1
​
console.log(3 * '9px');//NaN 不是数字,不纯的数字没办法隐式类型转换
console.log(3 * undefind);//NaN ubdefind没办法隐式类型转换

类型转换总结:

​ 无论哪种运算,只要出现undefined参与运算,结果就是NaN;

​ 数字类型的字符串、false、true、null都能进行隐式类型转换,除了加号;

​ 加号比较特殊,没办法进行隐式类型转换,除了Boolean值除外;

2、运算符

​ 1、数学运算符

/*  + - * / % ()  */

​ 2、关系运算符

> < >= <= == != ===(全等) !==(不全等)
最终会返回布尔值
​
var a = function(){
    alert();
}
var b = function(){
    alert();
}
console.log(a==b); //false
​
/* === 全等:
基础数据类型除了比较值外,还要比较数据;类型 
引用类型比较内存地址
*/
console.log(11=='11'); //true
console.log(11==='11');//false

​ 3、逻辑运算符

/*
&& 逻辑与  都真才真,有假就假 a&&b a真抛出b a假抛出a
|| 逻辑或  有真则真,全假则假 a||b a真抛出a a假抛出b
! 逻辑非
*/
​

​ 4、赋值运算符

/* + += -= ++ -- /= %/ *=*/
var a = 11;
a+=10;
console.log(a);
​
var b = 12;
console.log(b--);
console.log(b++);
​
/*
    ++在变量前和变量后的区别
    (参与运算)++a 先自增再执行
*/
var x = 10;
var y = x++;
console.log(x);//11
console.log(y);//10
​
var z = 2 + x++;
console.log(x);//11
console.log(z);//12

3、运算符练习

/*
作业的最终结果:总结出运算符的计算顺序(优先级)
   var a = 3 < 6 && 7 < 14;    //true
        原式 = true && true
        = true

    var a = 1 + 2 < 3 + 3 && 3 + 4 < 2 * 7;
        原式 = 3 < 6 && 7 < 14
        = 上一题
        = true

    var a = false + true && 13;
        原式 = 0 + 1 && 13
        = 1 && 13
        = 13


    var a = 15;
    false + a++ + true > 8 && 13 || 6
        原式 = false + 15 + true > 8 && 13 || 6
        = 16 > 8 && 13 || 6
        = true && 13 || 6
        = 13 || 6
        = 13


*/
var a = 3 < 6 && 7 < 14;  //true

var a = 1 + 2 < 3 + 3 && 3 + 4 < 2 * 7;//true

var a = false + true && 13;//13

var a = 15;
false + a++ + true > 8 && 13 || 6 //13

​
       

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

冒险岛_0_

您的打赏是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值