alert('2'===2);  //这个结果是false,首先三个等号要比较数据类型,字符串和整数不相等

alert('2'==2);    //这个结果是true,因为是两个等号,所以不会比较数据类型,字符串‘2’会自动转换成数字2,所以相等
alert(‘10’>9);  //这个结果是ture,首先字符串和数字的比较,字符串会自动转换成数字,所以结果是true。

alert(‘10’>’9‘);//这个结果是false,首先是字符串和字符串的比较,又是数字,我们提取每个字符串第一位的数字,

第一个‘10’第一位是1,第二个是9,所以结果是false。

alert(‘10’>’ 9‘)//注意结果是true,第一个提取的结果是1,第二个我们先空格了一下,所以结果是0,所以是false

当提示出NaN的时候,代表出现了非法操作,还有isNaN的用法

var a=Number('abc');

alert(a);  //结果是NaN,
alert(typeof a);// number,一旦用了typeof的时候,判断的是类型,因为用Number定义的,所以是number
if(a){    
alert("true");
}else{
alert('false');//  结果是false,任何NaN的结果都是false
}

IsNaN的用法

//isNaN()如果是数字,返回false,如果不是数字,返回false。,底层用的是Number();
alert(isNaN(true));//ture转换成1所以是false
alert(isNaN('aa'));//true
alert(isNaN(1));
alert(isNaN([]));//转换成数字0,因为数组是空的,所以返回false

<input type="text" />
<input type="button" value="判断是不是数字"/>

/*//isNaN()如果是数字,返回false,如果不是数字,返回false。,底层用的是Number();
alert(isNaN(true));//ture转换成1所以是false
alert(isNaN('aa'));//true
alert(isNaN(1));
alert(isNaN([]));//转换成数字0,因为数组是空的,所以返回false*/
window.onload=function(){
var arr=document.getElementsByTagName('input');
var str='';
arr[1].onclick=function(){
str=arr[0].value;
if(isNaN(str)){
alert(str+'不是数字')
}else{
alert(str+'是数字')
}
}
}

JS隐形数据类型转换注意事项的更多相关文章

  1. JS中数据类型转换

    JS中数据类型转换汇总 JS中的数据类型分为 [基本数据类型] 数字 number 字符串 string 布尔 boolean 空 null 未定义 undefined [引用数据类型] 对象 obj ...

  2. JS的数据类型转换

    JS 数据类型转换 方法主要有三种 转换函数.强制类型转换.利用js变量弱类型转换. 1. 转换函数: js提供了parseInt()和parseFloat()两个转换函数.前者把值转换成整数,后者把 ...

  3. JS 之 数据类型转换

          首先我们来简单了解一下JS中的数据类型,JavaScript拥有字符串.数字.布尔.数组.对象.Null.Undefiend 6中数据类型.同一时候,JavaScript拥有动态类型. 也 ...

  4. Java学习:数据类型转换注意事项

    数据类型的转换 当数据类型不一样时,将会发生数据类型转换. 自动类型转换(隐式) 1.特点 :代码不需要进行特殊处理,自动完成. 2.规则 :数据范围从小到大. //左边是long类型,右边是默认的i ...

  5. js基础---数据类型转换

    js中数据类型: 简单数据类型: number:233,-34,0x23,023 string:"hello"或者'hello' boolean:true.false undefi ...

  6. js 的数据类型转换

    一直对js的类型转换一直半解,今天理一下思路,首先说一下几个特殊的数值 null null是特殊的object,故 typeof null 返回object, null派生于undefined ,故 ...

  7. java中数据类型转换注意事项

    1.byte.short.char这三种类型互相做数学运算时都会先提升为int类型后再做运算 char a = 'A'; short b = 1; int num = a + b;//a和b在做运算前 ...

  8. {}+[] = ? 和 []+{} = ? 浅谈JS数据类型转换

    参加公司技术嘉年华第一季(前端.服务端)的间隙,陈导问了我一个问题:{}+[] 和 []+{}两个表达式的值分别是什么?根据我的理解我觉得结果应该都是"[object Object]&quo ...

  9. JS 里的数据类型转换

    JS的数据类型转换 一.js中的数据类型Js中的数据类型一共有六种,即number,string,boolean,underfine,null,object. 1.Number Number数据类型指 ...

随机推荐

  1. SQL SERVER修改函数名引起的问题

    1. 问题 今天遇到一个奇怪的问题:使用sp_helptext XXX查询出来的函数定义名竟然跟函数名不同,而sp_helptext实际是查询sys.all_sql_modules这个系统视图的.直接 ...

  2. RabbitMQ常用命令行

    打印了一些rabbitmq服务状态信息,包括内存,硬盘,和使用erlong的版本信息rabbitmqctl -q status 各个参数说明:http://www.rabbitmq.com/man/r ...

  3. [译]Writing Custom Middleware in ASP.NET Core 1.0

    原文: https://www.exceptionnotfound.net/writing-custom-middleware-in-asp-net-core-1-0/ Middleware是ASP. ...

  4. [译]你应该知道的4种JavaScript设计模式

    这里介绍下面这4种设计模式 Module Prototype Observer Singleton 每种模式有许多属性构成,在这我只强调一下几点: 1 Context: 在何种情况使用哪种模式? 2 ...

  5. Java 多线程编程

    1.synchronized/wait/notify package javamultithread; import java.util.logging.Level; import java.util ...

  6. python note

    =和C一样,为赋值.==为判断,等于.但是,在python中是不支持行内赋值的,所以,这样避免了在判断的时候少写一个出错. dictionary 的key唯一,值可以为很多类型. list的exten ...

  7. git+github上传与管理

    1.首先下载并安装git,方便管理github上的代码 https://git-scm.com/downloads 2.然后点击安装好的git bash(注册好自己的github) git confi ...

  8. Cordova环境搭建 & HelloWorld

    目前的手机APP有三类:原生APP,WebAPP,HybridApp:HybridApp结合了前两类APP各自的优点,越来越流行. Cordova就是一个中间件,让我们把WebAPP打包成Hybrid ...

  9. [正则表达式]PCRE环视功能

    设想一下这个问题,假设为了方便长串数字的阅读性,需要为其添加逗号作为分隔,需要怎么做呢? 2569836495 => 2,569,836,495 正则表达式的匹配通常是从左往右的,这导致无法使用 ...

  10. WPF DataGrid 性能加载大数据

    WPF(Windows Presentation Foundation)应用程序在没有图形加速设备的机器上运行速度很慢是个公开的秘密,给用户的感觉是它太吃资源了,WPF程序的性能和硬件确实有很大的关系 ...