知识点总结

  • JS数据类型:number数字(NaN)、string字符串、boolean布尔值、函数类型、object对象(obj、[]、{}、null)、undefined未定义
  • typeof 用来判断基本数据类型,instanceof可以判断引用数据类型
  • 显示/强制类型转换( Number()、parseInt()、parseFloat() )
  Number()   =>字符串变数值

    NaN  =>  json、函数、未定义进行运算(var a)、数组里有一堆内容

    null、''、[]  =>0
true =>1 false => 0   Number([]) => 0
Number(['']) => 0
Number(['123]) => 123
Number([1,2,3]) => NaN 判断值是整数还是小数??
var num = '200.122'
if(parseInt(num)==parseFloat(num)){
alert(num+'是整数');
} else {
alert(num+'是小数');
} =>200.122是小数
  • 隐式类型转换
  +        =>字符串
- * / % =>变数字
++ -- =>变成数字
> < =>数字的比较、字符串的比较(字符编码),比如:'10'>9 true '10'>'9' false
!取反 =>把右边的数据类型转成布尔值,比如: alert(!'0k') 和 alert(!100) false
== =>布尔
  • NaN (not a number)
   NaN  出现在程序中,肯定进行了非法运算
NaN 是数字类型,但不是个数字,例如:var a = Number('abc') alert(a)=>NaN , alert(typeof a)=>number;
NaN 布尔值里是false;
NaN 与自己比较 false; console.log(typeof NaN ) =>number ,因为是不是数字的 数字类型,:D
  • isNaN()
  判断某些值是不是数字,是数字,为false,讨厌数字,即isNaN(123)=>false
isNaN() true false isNaN('null'),isNaN('[]'),isNaN(' " " ') =>true,不是数字,因为''引起,认为是字符串
isNaN(null),isNaN([]),isNaN('') =>false,通过Number转换成数字0,因此认为是数字
isNaN('123') =>false,通过Number转换成数字了
isNaN(NaN) => true,不是数字,因此NaN是讨厌数字,不讨厌数字类型,NaN是number类型

——

[妙味JS基础]第四课:JS数据类型、类型转换的更多相关文章

  1. 妙味课堂——HTML+CSS(第一课)

    一句话,还记忆不如烂笔头,何况还这么笨,记下笔记,也是记录这一路学习的过程. 妙味课堂第一课并未一味地先讲HTML,而是穿插着CSS讲解,这一点不同于一些其他视频,这一点挺特别的!所以这一课涉及到HT ...

  2. js基础系列框架:JS重要知识点(转载)

    这里列出了一些JS重要知识点(不全面,但自己感觉很重要).彻底理解并掌握这些知识点,对于每个想要深入学习JS的朋友应该都是必须的. 讲解还是以示例代码搭配注释的形式,这里做个小目录: JS代码预解析原 ...

  3. [妙味JS基础]第六课:作用域、JS预解析机制

    知识点总结 浏览器的解析方法 script 全局变量,全局函数 自上而下 函数 由里到外 "JS的解析器": 1)“找一些东西”:var function 参数 var a=未定义 ...

  4. [妙味JS基础]第十课:日期对象、时钟倒计时

    知识点总结 时间.年.月.日.时.分.秒 new Date() ->当前系统的时间对象 数字类型: getFullYear().getYear().getUTCFullYear() getYea ...

  5. [妙味JS基础]第十一课:字符串、查找高亮显示

    知识点总结 字符串方法 var str = '2014年新春快乐哈' * length 字符串长度 str.length =>10 ------------------------------- ...

  6. [妙味JS基础]第八课:return、定时器基础

    知识点总结 return 1)函数名+括号 = return 返回值 2)所有的函数默认的返回值 = 未定义 3)return后面的代码不执行 arguments  =>为实参的集合,当参数个数 ...

  7. [妙味JS基础]第七课:运算符、流程控制

    知识点总结 &&(与).||(或).!(非) 与: alert(20 && 20>100) => false alert(20 && 20& ...

  8. [妙味JS基础]第五课:函数传参、重用、价格计算

    知识点总结 函数传参,传的参数=数据类型(即:数值.字符串.布尔.函数.对象.未定义) 通过传参来重用代码 1.尽量保证 HTML 代码结构一致,可以通过父级选取子元素 2.把核心主程序实现,用函数包 ...

  9. [妙味JS基础]第三课:自定义属性、索引值

    知识点总结 自定义属性 元素.自定义属性 = 值: 比如: oDiv.abc = 100; =>abc为自定义属性 索引值 index  =>也是自定义属性 oDiv.index = '' ...

随机推荐

  1. 使用TypeScript开发ReactNative应用的简单示例

    最近小小尝试了下 ReactNative + TypeScript 开发APP,爬了无数坑之后总算弄出来个结果,重要的地方记录下,后面会附上示例代码: 1.开发工具的选择 windows 平台我接触的 ...

  2. 数据库开启gtid时,需要注意的问题

    1.slave不能执行任何sql,包括超级用户2.read_only=on,这个必须要开启,避免业务执行sql3.保证当前slave的事务id为1 当slave同步出现问题时,手动跳过,需要考虑的问题 ...

  3. 【锋利的Jquery】读书笔记六

    ajax优点缺点 json格式的严格 { "people": [ { "firstName": "Brett", "lastNam ...

  4. 3.使用secureCRT连接PC,LINUX,开发板

    1.设置secureCRT(可选项):http://www.linuxyw.com/linux/gongxiang/20130505/161.html 2.使用secureCRT远程登录linux 3 ...

  5. CodeForces 711D Directed Roads

    计数,模拟. 首先观察一下给出的图的特点: $1.$一定存在环. $2.$可能存在多个环. 我们对每个环计算方案数,假设环$C$上包含$x$条边,那么把环$C$破坏掉的方案数有${2^x} - 2$种 ...

  6. DB2导入导出 学习笔记

    db2pd -osinfodb2mtrk -i -d (for aix)db2 get dbm cfg show detaildb2 get db cfg show detaildb2 get sna ...

  7. @ResponseBody注解与JSON

    MappingJacksonHttpMessageConverter 调用了 objectMapper.writeValue(OutputStream stream, Object)方法,使用@Res ...

  8. NVIC

    1中断:每一个中断都会对应一个服务程序 2NVIC 他的做用是负责中断优先级管理 3IP bit[7:4]每一个中断都有一个IP寄存器,用于设置中断相关的属性 AIRCR[10:8]只一个AIRCR寄 ...

  9. UNIX基础--进程和守护进程

    进程和守护进程 Processes and Daemons 进程(Processes) FreeBSD 是一个多任务操作系统. 这就意味着好像一次可以运行一个以上的程序. 每个占用一定时间运行的程序就 ...

  10. informix数据迁移工具使用介绍

    一.dbschema  USAGE:     dbschema [-q] [-t tabname] [-s user] [-p user] [-r rolename] [-f procname]    ...