数据类型

  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

JavaScript(三) 数据类型的更多相关文章

  1. 从头开始学JavaScript (三)——数据类型

    原文:从头开始学JavaScript (三)--数据类型 一.分类 基本数据类型:undefined.null.string.Boolean.number 复杂数据类型:object object的属 ...

  2. JS-安全检测JavaScript基本数据类型和内置对象的方法

    前言:在前端开发中经常会需要用到检测变量数据类型的需求,比如:判断一个变量是否为undefined或者null来进行下一步的操作,今天在阅读“编写高质量代码-改善JavaScript程序的188个建议 ...

  3. javaScript(4)---数据类型

    javaScript(4)---数据类型 第4章 数据类型 学习要点: 1.typeof操作符 2.Undefined类型 3.Null类型 4.Boolean类型 5.Number类型 6.Stri ...

  4. JavaScript:数据类型

    JavaScript中数据类型分为两种: 1.基本数据类型 string number boolean null undefined 2.引用类型 数组.Object.function 一.基本数据类 ...

  5. javascript 判断数据类型的几种方法

    javascript 判断数据类型的几种方法一.typeof 直接返回数据类型字段,但是无法判断数组.null.对象 typeof 1 "number" typeof NaN &q ...

  6. JavaScript教程——数据类型概述

    简介 JavaScript 语言的每一个值,都属于某一种数据类型.JavaScript 的数据类型,共有六种.(ES6 又新增了第七种 Symbol 类型的值,本教程不涉及.) 数值(number): ...

  7. JavaScript 引用数据类型

    目录 1. 问题描述 2. 原因分析 3. React 中的引用数据类型 4. 业务场景 5. 参考资料 1. 问题描述 今天在写一个代码题时候, 有一个BUG 导致自己停滞好久, 该BUG 可以描述 ...

  8. JavaScript基础——数据类型

    JavaScript使用数据类型来确定如何处理被分配给一个变量的数据.变量的类型决定了你可以对变量进行什么操作,如循环或者执行.下面描述了最常用的变量类型. 字符串(String):此数据类型将字符数 ...

  9. JavaScript 的数据类型 相关知识点

    (1)基本数据类型介绍 JavaScript的数据类型分为两类:原始类型(primitive type)和对象类型(object type) 或者说是:可以拥有方法的类型和不能拥有方法的类型 或者说是 ...

  10. JavaScript的数据类型

    JavaScript的数据类型 1.JavaScript的数据类型包括:字符串.数值.布尔.数组.对象.Null.Undefined. 2.JavaScript拥有动态类型,这以为着同一个变量可用作不 ...

随机推荐

  1. python的unittest測试框架的扩展浅谈

    非常多时候測试框架须要依据測试数据来自己主动生成測试用例脚本,比方接口測试,通过不同參数构建组合去请求接口,然后验证返回结果.假设这样能通过配置excel数据来驱动測试.而不用去写一大堆的測试用例脚本 ...

  2. 深入理解JSP

    JSP(Java server page)是Java EE规范最基本成员,他是Java Web开发的重点知识,尽管我们一直在用.但其原理知之甚少.今天重点研究一些JSP核心内容以及其工作原理. JSP ...

  3. js中常见的一些兼容性问题

    1)滚动条: document.documentElement.scrollTop||document.body.scrollTop 2) 网页可视区域兼容 window.innerHeight || ...

  4. MyBatis SQL处理大于、小于号

    MyBatis mapper文件是xml文件,需要特殊字符如大于号.小于号后需要转义. 原字符 转义后字符 < < <= <= > > > >=

  5. mybatis关联

    title: mybatis关联 date: 2017-12-18 18:00:30 tags: - [mybatis] categories: - [编程] - [开发工具] permalink: ...

  6. redis远程连接问题(安全模式问题)

    我在windows上远程连接linux上的redis(我虚拟机上的)遇到了问题,我是在windows上php代码中的调用redis接口来远程连接的,代码中ping()的时候报错. 服务器端我确定了ip ...

  7. SpringCloud四:hystrix-propagation

    注:pom.xml 及配置文件配置与上篇相同 package com.itmuch.cloud.controller; import org.springframework.beans.factory ...

  8. 仔细讲解socket(转载https://www.zybuluo.com/phper/note/47110)

    老实讲,到目前为止,我对socket一无所知,真的.我就现学现卖用过nodejs平台的socket.io搭建过一套高可用实时性的网页聊天系统,其他,就真的只是听过它. 今天就来仔仔细细的学一下,soc ...

  9. 【java设计模式】【行为模式Behavioral Pattern】模板方法模式Template Method Pattern

    package com.tn.pattern; public class Client { public static void main(String[] args) { AbstractClass ...

  10. iOS控制器跳转动画

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 MyViewController *myVC = [[MyViewController alloc]init];  //创建动画  C ...