博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JavaScript(三) 数据类型
阅读量:5201 次
发布时间:2019-06-13

本文共 1780 字,大约阅读时间需要 5 分钟。

数据类型 

  5+1种数据类型

  5种 基础数据类型

Number String boolean null undefined

  1种 复杂数据类型 

object

typeof 操作符        typeof 操作符返回的值 都是string类型的

  返回值

    “undefined”  值未定义

    “boolean”  值是 boolean类型

    “string”    值是string类型的

    “number”   值是数字类型的

    “object”   值是 对象 或者 null

    “function”  值是函数

小题 

var a = true;var b = true;alert(typeof a == b);    //false

alert 里面  先计算了   typeof a    得到的是  “boolean”  再执行的是  “boolean” == b   所以的到的是 false     ∴ typeof  尽量把要判断的值括起来

Undefined 类型

  undefined是window 上的属性  属性值 也是 undefined

  ∴ 不推荐  拿一个值和 undefined 进行比较     ∵ 找 undefined 的时候 从里面找到 最外面的  window 比较费性能

  ∴ 赋空值的时候尽量给  null

  在 ECMA-262 第三版之前并没有  undefined 这个值

null

  null 是关键字

 

undefined 与 null 的区别

  +undefined    = NaN

  + null   = 0 

  因为null 是关键字  作为 变量名的时候  会报错  而 undefined  不会

  检测某个数是否存在 时   === undefined

  检测某个值是否为空时 ===null

Boolean

  只有6个值 是false   剩下的都是true  

null    undefined    0    -0    NaN    ''  //最后的一个是空字符串

Number  范围  -2^53 ~ 2…^52

  表示8进制   以0开头  后面跟的就是八进制数  0123

      如果   090  就表示十进制的 90      

          8进制在严格模式下无效

  标识16进制   以 0x开头  后面跟的  就是 16进制数

 

  科学计数法 3.123e4  表示   3.123*10^4

 

小题

var a = 0.2;var b = 0.1;if(a + b = 0.3) {   console.log(true) ;} else{  console.log(false)  }//false

  因为 计算机计算是 转化成二进制进行计算的      而 二进制的  0.1  0.2  都是无限循环小数  所以  只能找 近似值代替  来计算   (这里产生了误差)  计算完成  再转换成十进制  返回给用户   所以也就不是精准的结果了

  解决方法  计算前把小数  *10^n  计算完成再   /10^n

NaN  not a number

0/0  -NaN

infinity / infinity  NaN

infinity - infinity  NaN

NaN != NaN

  isNaN()   可以判断传入的值能不能转化成  number类型

 

数制转换

  number()  parsInt()  parseFloat()  这三个方法都转化成  number 类型

String

 一对双引号 或 单引号     包含的部分   js中尽量以 单引号标识字符串

    因为  HTML中的引号编译器  会将其解析为双引号 为了避免  意外闭合的  引号

    所以 写单引号

Object 

  创建对象

    1.对象直接量  var obj = {};

    2.构造函数   var obj = new Object();

  小题

Boolean(New Boolean(false));//true

  里面 new 出来的是对象   所有对象的  boolean  都是  true

 

转载于:https://www.cnblogs.com/96weibin/p/7989601.html

你可能感兴趣的文章
《STL源码剖析》STL的双层配置器
查看>>
VC分发包版本问题
查看>>
这是通过 Open Live Writer(是个博客编辑器) 发布的
查看>>
Codeforces Round #401 (div.2)
查看>>
AndroidDevTools简介
查看>>
bzoj 4032: [HEOI2015]最短不公共子串【dp+SAM】
查看>>
python实现连接MySQL、Redis并获取数据
查看>>
大量数据的问题
查看>>
day06
查看>>
JS通过身份证号码获取出生年月日
查看>>
Topshelf入门
查看>>
查询外部链接返回页面时因为外部链接数据对象有个对象成员vsp,造成会查询vsp及关联的数据造成死循环,出现堆oom...
查看>>
[译]GLUT教程 - 位图和正交投影视图
查看>>
第二章作业--林
查看>>
ribbon负载均衡
查看>>
Extjs之Renderer方法中的参数详解
查看>>
JQuery EasyUi之界面设计——通用的JavaScript
查看>>
如果CDN服务器出了问题,怎么做不影响自己的网站
查看>>
OpenCV之头文件分析
查看>>
WPF之Manipulation
查看>>