es6--1

JS中的数据类型

- 基本数据类型

    + number

    + string

    + boolean

    + null

    + undefined

    + symbol

    + bigint

- 引用数据类型

    + object

        + 普通对象

        + 数组对象

        + 正则对象

        + 日期对象

        + Math数学函数对象

        + ...

    + function  

数据类型检测

- typeof 检测数据类型的逻辑运算符

- instanceof 检测是否为某个类的实例

- constructor 检测构造函数

- Object.prototype.toString.call 检测数据类型的

typeof [value]  返回当前值的数据类型  "数据类型"

- 返回的结果都是字符串

- 局限性:

    + typeof null  => "object"

    + typeof 不能细分对象类型(检测普通对象或者数组对象等都是"object")

把其它数据类型转换为数字的方法

    + 强转换(基于底层机制转换的) Number([value])

        + 一些隐式转换都是基于Number完成的

            + isNaN('12px')  先把其它类型值转换为数字在检测

            + 数学运算  '12px'-13

            + 字符串==数字  两个等于号比较很多时候也是要把其它值转换为数字

            + ...

    + 弱转换(基于一些额外的方法转换) parseInt([value])/parseFloat([value])

JS之所以能够在浏览器中运行,是因为浏览器给JS提了执行的环境 => 栈内存(Stack)

~~~  0 NaN null undefined 空字符串 转换为布尔是假

~~~  +号遇到字符串(或者对象,因为对象就是先转换为字符串然后在处理)

~~~ parseInt 处理的值是字符串,从字符串的左侧开始查找有效数字字符(遇到非有效数字字符则停止查找) -> 如果处理的值不是字符串,需要先转换为字符串然后在开始查找接口
        // Number 直接调用浏览器最底层的数据类型检测机制来完成  
        //   + true 1  false 0
        //   + null 0  undefined NaN
        //   + 字符串中必须保证都是有效数字才会转换为数字,否则都是NaN

a、对象=字符串  对象转换为字符串
b、null=undefined 但是和其他值都不相等
c、剩下两边不同都是转换为数字

 // let a = typeof typeof typeof [12, 23];
        // console.log(a); //=>"string"
        /*
         *  typeof [12, 23] =>"object"
         *  typeof "object" =>"string"
         *  ...
         */
 
        /* if ("珠峰" == NaN) {
            // 条件是否成立?  NaN!=NaN  它和谁都不相等,包括和自己本身也不相等
        } */
 
        // isNaN(值)  检测这个值是否为有效数字,如果不是有效数字返回TRUE,是有效数字返回FALSE
 
        /* let res = parseFloat('left:200px'); //=>NaN
        if (res === 200) {
            alert(200);
        } else if (res === NaN) { //NaN!=NaN
            alert(NaN);
        } else if (typeof res === 'number') { //=>typeof NaN => "number"
            alert('number');
        } else {
            alert('Invalid Number');
        } */
 
        // parseInt 处理的值是字符串,从字符串的左侧开始查找有效数字字符(遇到非有效数字字符则停止查找) -> 如果处理的值不是字符串,需要先转换为字符串然后在开始查找接口
        // Number 直接调用浏览器最底层的数据类型检测机制来完成  
        //   + true 1  false 0
        //   + null 0  undefined NaN
        //   + 字符串中必须保证都是有效数字才会转换为数字,否则都是NaN
        /* parseInt("") //NaN
        Number("") //0
        isNaN("") //先把""转换为数字(隐式 Number)  isNaN(0)  false
        parseInt(null) //parseInt('null')  NaN 
        Number(null) //0
        isNaN(null) // isNaN(0)  false
        parseInt("12px") //12
        Number("12px") //NaN
        isNaN("12px") //isNaN(NaN) true
        parseFloat("1.6px") + parseInt("1.2px") + typeof parseInt(
            null); //1.6 + 1 + typeof NaN  => 2.6 + 'number'  -> '2.6number'
        isNaN(Number(!!Number(parseInt("0.8"))));
        // isNaN(0) false 
        typeof !parseInt(null) + !isNaN(null);
        // 'booleantrue'
 
        // []==true  都转换为数字
        // Number([])  Number('')  0
        // 1 */
 
        // let result = 10 + false + undefined + [] + 'Tencent' + null + true + {};
        // console.log(result);
        // 10 + 0  10
        // 10 + undefined  NaN
        // NaN + []  'NaN'
        // 'NaN' + 'Tencent'   'NaNTencent'
        // 'NaNTencentnulltrue[object Object]'

 

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值