知识点总结

  • 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. 菜鸟互啄:WINFORM如何实现无聚焦框的Button按钮

    当我们将一个button按钮设置如下属性时,总有一个聚焦框来困扰着我们 button1.FlatStyle = FlatStyle.Flat; 我们想要的效果是这样的: 但当使用了Tab切换焦点时 发 ...

  2. kinect1在ros-indigo环境配置

    根据周大神前车,向git下载驱动里面有详细的安装说明 $ cd $ git clone https://github.com/ZXWBOT/kinect_driver.git 按照安装说明三个包安装成 ...

  3. python绝技 — 扫描蓝牙RFCOMM信道

    RFCOMM协议 RFCOMM通过蓝牙L2CAP协议模拟了RS232串口.这会与另一台设备建立一个蓝牙连接,模拟一条普通的串行线缆,使用户能够用其他设备控制这一台设备,通过蓝牙打电话,发短信,读取手机 ...

  4. js getByClass函数封装

    function getByClass(oParent, sClass) { var aEle=oParent.getElementsByTagName('*'); var aResult=[]; v ...

  5. 【1】Hover 效果收集

    各种 hover 效果  github repository>>  git 仓库 1. 背景图的 hover 效果 原页面>> githubSite>>

  6. Redux超酷的开发工具Redux-Devtools

    超酷的开发工具 Redux-devtools redux-devtools是一个有趣而又高效的redux开发工具,如果你想直接在github上查看相关的内容,请前往这里.事实上,也鼓励大家养成在git ...

  7. C# CookieHelper

    using System; using System.Web; using System.Collections.Specialized; namespace Utils { /// <summ ...

  8. ios_swift开发资源整理

    目录 1.苹果官方资源 2.国内外视频网站推荐 3.中文文档 4.demo网站 5.开发工具推荐 6.国内外开发网站论坛 7.技术博客推荐 8.书籍推荐 9.第三方框架推荐 10.第三方发布平台 11 ...

  9. 【安装】python3.4版安装与2.x共存问题

    首先,到官网去下载python3.x版,这里推荐3.4以上的版本,自带pip库,以后不用自己另外下载 3.4.4版: https://www.python.org/downloads/release/ ...

  10. NGINX----源码阅读----init配置脚本

    /auto/init init脚本负责初始化各种目录环境变量值. 1.make文件.源文件.头文件.配置头文件路径变量初始化. NGX_MAKEFILE=$NGX_OBJS/Makefile NGX_ ...