1.ECMAScript:标准、核心

  JS中的数据类型:数字(NaN)、字符串(空隔也会占据长度)、布尔值(true和false)、函数、对象(obj、[]、{}、null)、undefined。

  typeof 判断数据类型

2.数据类型的转换(显式类型转换或强制类型转换)

  a.  Number()----空的字符串会解析成0,true解析成1,false解析成0, 函数、json和undefinde解析成NaN, null和空的数组解析成0;

      var a="100";

      alert(Number(a)); //弹出100

  b.  parseInt(str,10)----转化从整型,从左到右依次转换,遇到不是数字的(除+,-,空隔)就不再转换。里面的“10”代表十进制,可以为其他进制的方法,缺省值为10.

  c.  parseFloat()----转化成浮点型

3.隐式类型转换

  -,*,/,%    ---- 把字符串变成数字,如alert('200'-3) ===> 197

  +                 ---- 把数字变成字符串,如alert(200+'3') ===> 2003

  ++,--           ---- 把字符串变成数字

> ,<            ---- 数字的比较还是字符串的比较,如alert(200>'10') ===> true, alert('200'>'90') ===> false

  !取反          ---- 把右边的数据类型转换成布尔值

  ==              ---- 把字符串转换成数字

4.NaN

  a.  NaN:not a number  不是个 数字 的 数字类型 (typeof(NaN) ===> number)。

  b.  一旦写程序出现了NaN,肯定进行了非法的运算操作。

  c.  NaN 是 false。

  d.  NaN 与自己不相等!

5.isNaN

  a.  isNaN:Is not a number (不是数字)

  isNaN(); 是一种方法,判断某些值是不是数字,不喜欢数字,出现数字就为false

  b.  检验的值通过Number()转换,只要为数字,就为false

       如isNaN('250') ===> Number('250') ===> 250 ===> false

     isNaN([]) ===> Number([]) ===>1 ===> false

6.真假的问题

  a.  真:非0的数字,非空字符串(包括空格),true,函数,能找到的元素,[],{}

  b.  假:0,NaN,空字符串,false,不能找到的元素,null,未定义

js学习笔记4----数据类型的更多相关文章

  1. JS 学习笔记--9---变量-作用域-内存相关

    JS 中变量和其它语言中变量最大的区别就是,JS 是松散型语言,决定了它只是在某一个特定时间保存某一特定的值的一个名字而已.由于在定义变量的时候不需要显示规定必须保存某种类型的值,故变量的值以及保存的 ...

  2. 2019-4-29 js学习笔记

    js学习笔记一:js数据类型   1:基本数据类型       number类型(整数,小数)      String类型          boolean类型        NaN类型其实是一个nu ...

  3. 基于jquery的插件turn.js学习笔记

    基于jquery的插件turn.js学习笔记 简介 turn.js是一个可以实现3d书籍展示效果的jq插件,使用html5和css3来执行效果.可以很好的适应于ios和安卓等触摸设备. How it ...

  4. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  5. Vue.js学习笔记(2)vue-router

    vue中vue-router的使用:

  6. WebGL three.js学习笔记 使用粒子系统模拟时空隧道(虫洞)

    WebGL three.js学习笔记 使用粒子系统模拟时空隧道 本例的运行结果如图: 时空隧道demo演示 Demo地址:https://nsytsqdtn.github.io/demo/sprite ...

  7. WebGL three.js学习笔记 法向量网格材质MeshNormalMaterial的介绍和创建360度全景天空盒的方法

    WebGL学习----Three.js学习笔记(5) 点击查看demo演示 Demo地址:https://nsytsqdtn.github.io/demo/360/360 简单网格材质 MeshNor ...

  8. WebGL three.js学习笔记 创建three.js代码的基本框架

    WebGL学习----Three.js学习笔记(1) webgl介绍 WebGL是一种3D绘图协议,它把JavaScript和OpenGL ES 2.0结合在一起,通过增加OpenGL ES 2.0的 ...

  9. vue.js 学习笔记3——TypeScript

    目录 vue.js 学习笔记3--TypeScript 工具 基础类型 数组 元组 枚举 字面量 接口 类类型 类类型要素 函数 函数参数 this对象和类型 重载 迭代器 Symbol.iterat ...

  10. 一点感悟:《Node.js学习笔记》star数突破1000+

    写作背景 笔者前年开始撰写的<Node.js学习笔记> github star 数突破了1000,算是个里程碑吧. 从第一次提交(2016.11.03)到现在,1年半过去了.突然有些感慨, ...

随机推荐

  1. [转]关于vs调试正确。但是发布到iis就出现无法访问后天局面

    最近使用extjs+ashx进行ajax请求过程操作的时候发现一个问题..当我把程序发布到iis的时候就出现一只不执行到success回调函数. 当弹出状态值一看尽然是500.我就纳闷了.又没有语法错 ...

  2. 转:eclipse的workspace和working set

    from: http://iyuanbo.iteye.com/blog/1158136   eclipse的workspace和working set 2015-05-20 09:28:48 标签:e ...

  3. hdu 1166

    敌兵布阵 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submi ...

  4. Android图片异步加载框架Android-Universal-Image-Loader

    版权声明:本文为博主原创文章,未经博主允许不得转载. Android-Universal-Image-Loader是一个图片异步加载,缓存和显示的框架.这个框架已经被很多开发者所使用,是最常用的几个 ...

  5. java工程中的.classpathaaaaaaaaaaaaaaaa<转载>

    第一部分:classpath是系统的环境变量,就是说JVM加载类的时候要按这个路径下去找,当然这个路径下可以有jar包,那么就是jar包里所有的class. eclipse build path是ec ...

  6. POJ 3714 Raid

    Description After successive failures in the battles against the Union, the Empire retreated to its ...

  7. Caffe学习系列(3):视觉层(Vision Layers)及参数

    所有的层都具有的参数,如name, type, bottom, top和transform_param请参看我的前一篇文章:Caffe学习系列(2):数据层及参数 本文只讲解视觉层(Vision La ...

  8. 让 HTML5 来为你定位

    Geolocation HTML5 的 geolocation 是一个令人兴奋的 API,通过这套 API,Javascript 代码就能够访问到用户的当前位置.当然,访问之前必须得到用户的明确认可, ...

  9. 转载:SQL 递归树 子父节点相互查询

    if object_id('[tb]') is not null drop table [tb] go create table [tb]([modeid] int,modename varchar( ...

  10. 手机信号强度单位dB、dBm和asu

    dB.dBm都是功率增益的单位,不同之处如下: dB是一个表征相对值的值,纯粹的比值,只表示两个量的相对大小关系,没有单位,当考虑甲的功率相比于乙功率大或小多少个dB时,按下面的计算公式:10log( ...