知识点总结

  • 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. H3 BPM 跨平台表单发起详解

    1.1 目的 为方便技术对接服务,实现流程业务的跨平台对接,给出指引和帮助文档. 2 跨平台以Java为例调用.NET BPM表单流程全过程 2.1 双方系统确定接口协议规则 通信协议:基于soap通 ...

  2. WIN10使用管理员权限运行VS2013

    学习WCF时出现报错-- 其他信息: HTTP 无法注册 URL http://+:8083/User/.进程不具有此命名空间的访问权限(有关详细信息,请参见 http://go.microsoft. ...

  3. Docker环境下如何安装Zookeeper

    第一步:首先下载Zookeeper的镜像文件: 从仓库中pull 这个zookeeper镜像:docker pull jplock/zookeeper:3.4.8 然后docker images查看该 ...

  4. Nuget 学习三

    后期管理: 登录 nuget 官网 https://www.nuget.org/ 可以搜索到自己的包: 点击进入,可进一步操作 如果你需要给自己的类型新增其他功能,或者修改之前的bug(反正就是修改代 ...

  5. 替换ubuntu 14.04的源

    1. 背景(为什么要替换)安装ubuntu,默认源是(http://extras.ubuntu.com/ubuntu),国内访问很慢...当我们用apt-get安装软件包或者更新时有时很慢,所以才想到 ...

  6. [MFC美化] SkinMagic使用详解2- SkinMagic常用函数介绍

    SkinMagic常用函数介绍 (1)InitSkinMagicLib函数:初始化SkinMagic int InitSkinMagicLib( //初始化SkinMagic工具库 HINSTANCE ...

  7. java http url post json

    import java.io.IOException; import java.io.InputStream; import java.io.OutputStreamWriter; import ja ...

  8. CodeForces 669C Little Artem and Matrix GNU

    模拟. 把操作记录一下,倒着复原回去. #pragma comment(linker, "/STACK:1024000000,1024000000") #include<cs ...

  9. Gs_Class.Gs_DataFunction数据操作类库20160225

    using System;using System.Data;using System.Configuration;using System.Web;using System.Web.Security ...

  10. 第1章 PHP快速入门

    1.最好使用<?php   ?> 即XML风格的PHP标记: 2.echo语句:将传递给其自身的字符串打印到浏览器: 3.注释:①C风格的多行注释/*  */ ②C++风格的单行注释// ...