一、六种数据类型

Javascript是弱类型。

五种原始类型和一种对象类型:

  • number
  • String
  • boolean
  • null
  • undefined
  • Object

二、隐式转换

  • +与-的运算举例:

+运算符可将数字转字符,如“37”+37 //3737 
-运算符可将字符转数字,如“37”-37 //0

  • ==和严格等于(===) 的举例:

严格等于===,必须等号两边数据类型相同。(严格等于会首先判断类型)
例外:NaN 不等于 NaN(Not a Number)
new Object 不严格等于 new Object

注意“==”和“===”的区别:1. 类型相同时,“==”和“===”相同

              2. 类型不同时,“==”会尝试类型转换和比较:

三、包装对象

包装对象:
包装对象,就是当基本类型以对象的方式去使用时,JavaScript会转换成对应的包装类型,相当于new一个对象,内容和基本类型的内容一样,然后当操作完成再去访问的时候,这个临时对象会被销毁,然后再访问时候就是undefined。number,string,boolean都有对应的包装类型。

(1)number,string,boolean都有对应的包装类型
eg:var str="string";//字符串类型
var strObj=new String("string")//对象类型,String类型对应的包装类

四、类型检测

类型检测的方法:

  • typeof

typeof运算符会返回一个字符串,比较适合基本类型以及函数对象的判断,但是对于其他对象类型就没办法判断了

注:为什么 typeof null ==="object" ?(可能因为历史原因或者兼容性原因)

  • instanceOf

用于判断对象类型。检测某一对象是否事某一构造函数构造的,或者有继承关系(prototype)。

obj instanceOf Object (左操作数 是一个对象 ,右操作数 右边是一个函数对象)

判断对象是否相等,是按照引用去判断的。(在 不同的 window, iframe 间失效)

注意:

  • Object.prototype.toString

基本类型,(null/undefined 在IE6/7/8返回[object object])及array, function 的检测。

【类项检测小结】

8、JavaScript深入浅出——数据类型的更多相关文章

  1. JavaScript深入浅出1-数据类型

    慕课网教程视频地址:Javascript深入浅出 javascript是弱数据类型语言,不需要显式的定义类型,一共有如下六种数据类型 原始类型:number string boolean null u ...

  2. 函数原型属性-JavaScript深入浅出(三)

    前两次总结了JavaScript中的基本数据类型(值类型<引用类型>,引用类型<复杂值>)以及他们在内存中的存储,对内存空间有了一个简单的了解,以及第二次总结了this深入浅出 ...

  3. 原型那些事 - JavaScript深入浅出(三)

    前两次总结了JavaScript中的基本数据类型(值类型<引用类型>,引用类型<复杂值>)以及他们在内存中的存储,对内存空间有了一个简单的了解,以及第二次总结了this深入浅出 ...

  4. JavaScript深入浅出第2课:函数是一等公民是什么意思呢?

    摘要: 听起来很炫酷的一等公民是啥? <JavaScript深入浅出>系列: JavaScript深入浅出第1课:箭头函数中的this究竟是什么鬼? JavaScript深入浅出第2课:函 ...

  5. JavaScript深入浅出6-函数和作用域

    慕课网教程视频地址:Javascript深入浅出 函数的概念:定义一次可调用多次的javascript代码段 创建函数:声明 function fuc(){}  声明前置   表达式 var fuc= ...

  6. JavaScript深入浅出5-数组

    慕课网教程视频地址:Javascript深入浅出 数组:值的有序集合 创建数组:字面量,构造器new array() 数组的读写:push() 尾部加入新元素 unshift() 头部加入新元素 po ...

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

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

  8. JavaScript深入浅出4-对象

    慕课网教程视频地址:Javascript深入浅出 对象的结构:包含一系列无序的属性,每个属性都有字符串key和对应的值 创建对象:对象字面量.new/原型链.Object.create 对象的属性操作 ...

  9. JavaScript深入浅出3-语句

    慕课网教程视频地址:Javascript深入浅出 程序由语句组成,语句遵守特定语法规则 块 block  {}   没有块级作用域 声明    var 异常   try catch finally 函 ...

随机推荐

  1. MyBatis+springMVC+easyUI (dataGirl)实现分页

    页面展示效果. 页面代码: <%@ page contentType="text/html;charset=UTF-8" language="java"  ...

  2. hibernate将本地SQL查询结果封装成对象

    hibernate将本地SQL查询结果封装成对象 不知道大家有没有碰过这种情况,迫于很多情况只能用native SQL来查询(如:复杂统计等),然而使用native查询后,结果会被放到object里, ...

  3. DS实验题 击鼓传花

    题目: 代码1(数组实现): // // main.cpp // DS-击鼓传花 // // Created by wasdns on 16/11/9. // Copyright © 2016年 wa ...

  4. Ubuntu 开启 Crontab 计划任务日志

    Ubuntu 下的 Crontab 日志功能不是自动开启的.开启日志功能的步骤是: ① 修改 rsyslog sudo vim /etc/rsyslog.d/-default.conf 找到: #cr ...

  5. PHP-FPM + Nginx: 502错误

    /etc/php5/fpm/pool.d/www.conf 里面找到这样一段代码: listen = 127.0.0.1:9000 在这上面代码的下面添加一行: listen = /var/run/p ...

  6. PHP Error 和 Logging 函数

    PHP Error 和 Logging 函数 PHP Error 和 Logging 简介 Error 和 Logging 函数允许您对错误进行处理和记录. Error 函数允许用户定义错误处理规则, ...

  7. Rails--default_scope

    Example: default_scope where("agents.deleted = ?", false)

  8. Centos tar命令

    打包文件同时压缩 tar -zcvf /file.tar.gz /directoryname

  9. AES加密时抛出 Illegal key size or default parameters

    使用AES加密时,当密钥大于128时,代码会抛出java.security.InvalidKeyException: Illegal key size or default parameters Il ...

  10. java CyclicBarrier

    import java.io.IOException; import java.util.Random; import java.util.concurrent.BrokenBarrierExcept ...