五种基本数据类型

  • Number

  • String

  • Boolean

  • Undefined

    一个没有设置值的变量

  • Null

    表示一个空对象引用

ES6(Symbol) //ES6

一种复杂数据类型

  • Object

在 Javascript 的逻辑运算中,0、""、null、false、undefined、NaN 都会判定为 false ,而其他都为 true

两种方式访问对象属性:

person.lastName;

person["lastName"];

通过for in遍历对象属性

var person={fname:"John",lname:"Doe",age:25};
for (x in person)
{
txt=txt + person[x];
}

typeof

使用 typeof 操作符来检测变量的数据类型。

返回结果为js基本的数据类型


var temp=null; typeof temp; // 返回 object
typeof "John" // 返回 string
typeof 3.14 // 返回 number
typeof false // 返回 boolean
typeof [1,2,3,4] // 返回 object
typeof {name:'John', age:34} // 返回 object
typeof NaN // 返回 number
typeof new Date() // 返回 object
typeof function () {} // 返回 function
typeof null // 返回 object
typeof myCar // 返回 undefined (if myCar is not declared)
//使用typeof的一个不好的地方就是它会把Array还有用户自定义函数都返回为object

NaN

typeof NaN //number

请使用 isNaN() 来判断一个值是否是数字。原因是 NaN 与所有值都不相等,包括它自己

Undefined 和 Null

  • null表示“没有对象”,即此处不应该有值

    1. 作为函数的参数,表示该函数的参数不是对象

    2. 作为对象原型链的终点。

    Object.getPrototypeOf(Object.prototype) // null

  • undefined表示“缺少值”,即此处应该有一个值,但是还没有定义

    1. 变量被声明了,但没有赋值时,就等于undefined。
      var a;
    a // undefined
    1. 调用函数时,应该提供的参数没有提供,该参数等于undefined。
     function f(x){console.log(x)}
    f() // undefined
    1. 对象没有赋值的属性,该属性的值为undefined。
     var o = {};
    o.p // undefined
    1. 函数没有返回值时,默认返回undefined。
     function f() {console.log(1)}
    var a = f();
    a // undefined
var str;
alert(str);//undefined 没有申明对象类型 //Undefined 和 Null 的区别
typeof undefined // undefined
typeof null // object
null === undefined // false
null == undefined // true

constructor 属性

constructor 属性返回所有 JavaScript 变量的构造函数。

"John".constructor                 // 返回函数 String()  { [native code] }

(3.14).constructor                 // 返回函数 Number()  { [native code] }

false.constructor                  // 返回函数 Boolean() { [native code] }

[1,2,3,4].constructor              // 返回函数 Array()   { [native code] }

{name:'John', age:34}.constructor  // 返回函数 Object()  { [native code] }

new Date().constructor             // 返回函数 Date()    { [native code] }

function () {}.constructor         // 返回函数 Function(){ [native code] }

constructor只能对已有变量进行判断,而typeof则可对未声明变量进行判断(返回undefined)。

instanceof

为判断一个对象是否为某一数据类型,或一个变量是否为一个对象的实例;返回boolean类型

语法为 o instanceof A

var h=new Person();
var o={}; alert("h instanceof Person:" + (h instanceof Person));//true alert("h instanceof Object:" + (h instanceof Object));//true alert("o instanceof Object:" + (o instanceof Object));//true

=====

  • ==表示相等 (值相等)

    在比较的时候如果是 == 会先做类型转换,再判断值得大小

  • ===表示恒等(类型和值都要相等)

javascript【基础】数据类型的更多相关文章

  1. JavaScript基础——数据类型

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

  2. javascript基础数据类型与引用类型

    javascript一共有6种数据类型 有5种基本类型:Null,String Number,Boolean,Undefined 和一种引用类型Object 基础类型在内存中存在于栈空间中,例如 va ...

  3. JavaScript基础数据类型(一)

    动态类型 JavaScript 是一种弱类型或者说动态语言.这意味着你不用提前声明变量的类型,在程序运行过程中,类型会被自动确定.这也意味着你可以使用同一个变量保存不同类型的数据: var foo = ...

  4. Javascript基础--数据类型

    一.基本数据类型 1.字符类型:表示字符的类型,例:'aaa',"aaaa",'123456',''(空字符) 2.数字类型:表示数字的类型,例:0,1,3.1415936等 特殊 ...

  5. JavaScript基础数据类型

    一.数值 1.JavaScript不区分整型和浮点型,就只有一种数字类型 2.还有一种NaN,表示不是一个数字(Not a Number) eg: parseInt("ABC")  ...

  6. JavaScript基础系列目录(2014.06.01~2014.06.08)

    下列文章,转载请亲注明链接出处,谢谢! 链接地址: http://www.cnblogs.com/ttcc/tag/JavaScript%20%E5%9F%BA%E7%A1%80%E7%9F%A5%E ...

  7. JavaScript基础:数据类型的中的那些少见多怪

    原文:JavaScript基础:数据类型的中的那些少见多怪 Javascript共有6种数据类型,其中包括3个基本数据类型(string,number,boolean).2个特殊数据类型(undefi ...

  8. 前端javascript基础总结(1)js的构成以及数据类型

    在日常工作中用到的原生js很少,感觉自己已经把原生的js忘光了,在这里开始总结下js,就从最基础的开始吧!!! JavaScript的组成: 1.ECMAScript:解释器,翻译. 个人理解为就是解 ...

  9. 初识 Javascript.01 -- Javascript基础|输出方式、变量、变量命名规范、数据类型、

    Javascript基础 1 聊聊Javascript 1.1 Javascript的历史来源 94年网景公司   研发出世界上第一款浏览器. 95年 sun公司   java语言诞生 网景公司和su ...

  10. javascript基础语法备忘录-变量和数据类型

    //javascript基础语法备忘录-变量和数据类型 // 定义变量使用var关键字 后面跟变量名,不要使用eval 和arguments为变量名 var message = "hi&qu ...

随机推荐

  1. 【转载】python解决文本乱码问题及文本二进制读取后的处理

    转自:https://blog.csdn.net/u011316258/article/details/50450079 python解决文本乱码问题及文本二进制读取后的处理 吲哚乙酸 当文本中含有很 ...

  2. c# 游戏设计:地图移动

    想实现一个小游戏,先做地图移动.步骤记录如下: 1.百度到一张大的迷宫地图,放在项目的debug目录下,备用. 2.创建一个winform项目,不添加任何界面元素. 3.添加数据成员如下: Pictu ...

  3. Day 22 22.3:生产者和消费者模式

    生产者消费者模式 认识生产者和消费者模式 生产者和消费者是异步爬虫中很常见的一个问题.产生数据的模块,我们称之为生产者,而处理数据的模块,就称为消费者. 例如: ​ 图片数据爬取中,解析出图片链接的操 ...

  4. CSS:盒子_每个元素都有两个盒子(《CSS世界》笔记-块级元素)

    CSS:盒子_每个元素都有两个盒子(<CSS世界笔记>-块级元素) 1)CSS世界只有"块级盒子(block-level box)"和"内联盒子(inline ...

  5. virtualenv指定使用本地某个版本python

    virtualenv -p D:\env\py37_1\Scripts\python3.exe time01 红色的地方是 你本地python解释器的安装路径,后面黄色部分是创建的虚拟环境的名称. 另 ...

  6. Windows10安装VMware

    系统环境: Windows 10 安装步骤: 1.下载vmware https://my.vmware.com/cn/web/vmware/downloads 2.安装(这里安装语言我选择的是中文) ...

  7. Java面向对象之类与对象的创建

    类与对象的创建 类是一种抽象的数据类型,它是对某一类事物整体描述/定义,但是并不能代表某一个具体的事物. 1.动物.植物.手机.电脑..... 2.Person类.Pet类.Cat类等,这些类都是用来 ...

  8. word和excel转pdf

    1.下载jacob.jar包  网址:https://sourceforge.net/projects/jacob-project/files/jacob-project/ 2.导入到本地仓库:mvn ...

  9. 泛微e-cology OA 远程代码执行漏洞复现

    复现过程: 直接使用FOFA搜索语法搜索,找了好久才找到含有漏洞的站点. 在根目录后面输入漏洞路径: /weaver/bsh.servlet.BshServlet 进入BeanShell操作页面 在S ...

  10. uni-app 通过后缀名区分不同渠道版本

    同一套微信小程序代码根据需求要打包成两款小程序,主要逻辑页面一致,主题色不一致,部分页面布局不,逻辑不一致. script命令 先在package.json的script新增命令,根据不同的命令生成对 ...