首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    「   JS 类型转换 - 隐式转换  」

    JS 类型转换 - 隐式转换 强制转换也叫作显式转换 隐式转换叫做自动类型转换 简单规则介绍 如果一个操作数是布尔值,那么在比较之前相等性之前 会将其转换成number类型 例如:ture == 1...如果一个数是字符串,另一个操作数是数值,那么在比较时也会将这个字符串转换成数值 如果是一个不合法的数值则结果NaN 我们知道NaN和任何内容比较都不相等,包括自身 同时 如果在进行比较是 一个操作数是NaN...undefined也会无视规则直接返回true null == undefined 也会无视规则直接返回TRUE NaN == NaN 也会无视规则直接返回false === 全等号在进行比较的时候 不会转换类型...// 结果 NAN console.log (1+null); //结果为 1 console.log(true == 1); // true 简单来说就是,在比较运算过程中,基本数据类型会隐式转换...,复杂数据类型不能隐式转换,但会使用toString()转成字符串,然后再进行隐式转换

    6.9K20

    玩转js类型转换

    undefined 与 null ,和所有其他值比较的结果都是false,他们之间==成立 ToPrimitive是指转换为js内部的原始值,如果是非原始值则转为原始值,调用valueOf()和toString...[]就是false 2.2 等号两边对比 我们知道,在比较类型的时候,先会进行各种各样的类型转换。 从开头的表格可以看见,他们比较的时候都是先转换为数字类型。...事实上是可以的,就是因为在==比较的情况下,会进行类型的隐式转换。...那么new出来的结果肯定不是简简单单的一个object,不然就是被转换成'[object Object]',但是你又不得不以object类型出现,那就只能魔改隐式转换用到的toString和valueOf...v2) { //Cash.add return v1 + v2 } } END 然而,实际项目中两个数据作比较的时候,我们尽量不要写甚至完全不要写两个等号,应该写三个等号,而且js

    7K10

    JS中数据类型转换

    JS中数据类型转换汇总 JS中的数据类型分为 【基本数据类型】 数字 number 字符串 string 布尔 boolean 空 null 未定义 undefined 【引用数据类型】...... 2.转换规律 //=>转换的方法:Number(浏览器自行转换都是基于这个方法完成的) 【把字符串转换为数字】 只要遇到一个非有效数字字符,结果就是NaN '' ->0 ' ' ->0 空格...->NaN 【把引用类型值转换为数字】 首先都先转换为字符串(toString),然后再转换为数字(Number) 把其它类型值转换为字符串 1.发生的情况 基于alert/confirm/prompt...',把结果转换为布尔true,条件成立 } 2.转换的规律 只有“0/NaN/''/null/undefined”五个值转换为布尔的false,其余都是转换为true 特殊情况:数学运算和字符串拼接...对象==布尔:把对象转换为数字,把布尔也转换为数字 对象==字符串:把对象转换为数字,把字符串也转换为数字 字符串==数字:字符串转换为数字 字符串==布尔:都转换为数字 布尔==数字:把布尔转换为数字

    4.9K10

    重学JS基础-类型检测和转换

    --字符串类型的变量或值 'number' --数字类型的变量或值 'object' --对象类型的变量或值,或者null(这个是js...(function(){} instanceof Object);//true console.log(function(){} instanceof Function);//true 不过它不能判断js...GFoo) // true}} 3.使用Object.prototype.toString.call() 调用Object.prototype.toString.call()方法可以判断出某个变量属于哪种js...等于: == 这个比较会先把两边转化为相同类型,然后比较其值是否相等,注意 NaN==NaN返回false 3,装箱转换和拆箱转换 装箱转换:把基本数据类型转化为对应的引用数据类型的操作 每当读取一个基本类型的时候...但是js内部为我们完成了一系列处理(即装箱),使得它能够调用方法,实现的机制如下: 创建String类型的一个实例; 在实例上调用指定的方法; 销毁这个实例; 后台隐式做了如下操作 var s1 =

    2.1K10
    领券