学习笔记6

typeof操作符

var a = undefined;
console.log(typeof a);//undefined
console.log(typeof b);//undefined

//未声明的变量只能执行一个操作,就是用typeof检测其数据类型
alert(b);//报错:Uncaught ReferenceError: b is not defined

console.log(undefined == null);//true,相等操作符(==)规定undefinednull是相等的
console.log(undefined === null);//false,类型不同

var声明未初始化,变量的值就是undefined。
对未声明的变量执行typeof操作符会返回undefined值

Number类型

浮点数
该数值值中必须包含一个小数点。

        console.log(1.0);//1, 如果数值本身是一个‘整数’,这个数值会被以整数值保存。
        console.log(1.0e2);//100;
        console.log(0.1);//0.1

Infinity值

console.log(Number.MAX_VALUE);//1.7976931348623157e+308
console.log(Number.MIN_VALUE);//5e-324
console.log(isFinite(Number.MAX_VALUE * 2));//用isFinite()确定一个数字是不是有穷的

超出数值范围的值会被自动转换成Infinity值。
如果是负值,会被转换成-Infinity,如果是正值,会被转换成Infinity。
NaN
Not a Number
任何涉及NaN的操作都会返回NaN。
NaN与任何值都不相等,包括NaN本身。
isNaN()用来判断一个值是否是 NaN
Number()

        console.log(Number(''));// 0
        console.log(Number('0x22'));// 34,转换为十进制
        console.log(Number('22e5'));//2200000
        console.log(Number('xixi'));// NaN
        console.log(Number(true));//1
        console.log(Number(false));//0
        console.log(Number(null));//0
        console.log(Number(undefined));//NaN

        //如果是对象,先调用对象的valueOf()方法,如果返回NaN,则调用toString()方法

parseInt()

        //如果第一个字符不是数字字符或负号,parseInt()返回NaN
        console.log(parseInt(''));//NaN

        //如果第一个字符是数字字符或负号,parseInt()会解析第二个字符,直到解析完后续字符或遇到一个非数字字符
        console.log(parseInt('225xixi'));//225
        console.log(parseInt('22.5'));//22

        //
        console.log(parseInt('0x22.5'));//34

        console.log(parseInt('000111'));//111

        //parseInt()转换字符串不支持科学计数法
        console.log(parseInt(22e5));//2200000
        console.log(parseInt('22e5'));//22

        //在使用parseInt()解析8进制字符量常量时ECMAScript5,不具备解析解析8进制的能力
        console.log(parseInt('070'));//70

        //指定基数
        console.log(parseInt('070', 8));//56

parseFloat()

        console.log(parseFloat('22e5'));//2200000
        console.log(parseFloat('22.5.5'));//22.5
        console.log(parseFloat('000111.0'));//111

        //只能解析10进制,无法指定基数
        console.log(parseFloat('0x22'));//0

String()

        //Number、Boolean、Object、String都有toString()方法,该方法返回相应值的字符串表现
        var n = 10;
        console.log(n.toString(2));//1010, Number可以传入参数,指定基数


        //在不知道要转换的值是不是null或undefined的情况下,使用转型函数String()
        //遵循以下规则
        //如果值有toSting()方法,,则调用该方法(没有参数)并返回相应结果
        //如果是null,则返回"null"
        //如果是undefined,则返回"undefined"
        var n2;
        console.log(String(n2));

一元操作符

递增,递减

        var s1 = "12w";
        var s2 = "12";
        var s3 = true;

        //都变成数值常量
        console.log(++s1);//NaN, 应用于一个不包含有效数字字符串时, 先转换为NaN, 再进行计算
        console.log(++s2);//13, 应用于一个包含有效数字字符串时, 先转换为数字值, 再进行计算
        console.log(++s3);//2, 应用于一个Boolean时,先转换为数字值(false 0, true 1),在进行计算

一元加和一元减操作符

        //一元加对数字无任何影响,该操作符会像Number()转型函数一样对这个值进行转换
        //一元减操作符主要用于表示负数,遵循于一元加一样的规则

相等操作符

1 相等操作符(==)
先转换再比较

如果有一个操作数是Boolean, false转换0true转换1,再进行比较
如果有一个操作数是字符串,另一个是数值,先转换再比较
如果一个操作数是对象,另一个不是,则调用对象的valueOf()方法,用得到的基本类型值比较

nullundefined是相等的
要比较相等性前,不能将null和unfined转换成其他任何值
NaN与任何值都不相等,包括NaN本身。
如果两个操作数都是对象,则比较它们是不是同一个对象。如果两个操作数都指向同一个对象,则相等操作符返回true,否则返回false

2 全等操作符(===)
只在两个操作数未经转换就相等的情况下返回true

全部评论

相关推荐

07-17 12:07
门头沟学院 Java
勇敢牛牛不怕困难
投递OPPO等公司8个岗位
点赞 评论 收藏
分享
想按时下班的大菠萝在...:隔壁学校的,加油多投, 实在不好找可以下个学期开学找,把算法八股准备好,项目有空再换换
投了多少份简历才上岸
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务