五种基本数据类型

  • 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. 搭建CI环境和git使用

    部署Git+Gerrit+Jenkins 的CI环境 使用Git作为代码存储及版本控制 使用Jenkins进行自动化构建 构建测试通过后,再交给人工review 人工review通过后,自动同步到远程 ...

  2. JS的有关递归的知识点(数据无限级联的实现)

    所用测试数据: 1 const data = [ 2 { 3 "area_id": 5, 4 "name": "广东省", 5 " ...

  3. HttpClient Post 提交表单数据

    运行环境 .net 4.6.1 //为防止因HTTPS证书认证失败造成API调用失败,需要先忽略证书信任问题 var sslHandler = new HttpClientHandler() { }; ...

  4. N63050 第十五周运维作业

    第二十九天: 网络文件共享服务 1基于DB数据库文件实现FTP的虚拟用户 2基于MySQL数据库文件实现FTP的虚拟用户 3NFS服务的工作原理 4NFS共享服务实现详解 5实现NFS共享存储的LAM ...

  5. nginx 使用ssl证书配置https协议

    如果能给你带来帮助,不胜荣幸,如果有错误也请批评指正,共同学习,共同进步. 第一,需要去申请或者购买ssl证书(这步略过,因为开发过程中没有给我提供证书和域名,只有ip地址),我从网上找了一份如何申请 ...

  6. JAVA的注释和变量名称

    1.注释 (1)单行注释为//..... 例://这是一行注释 (2)多行注释是/*.......... .............*/ 例:/*我是第一行注释 我是第二行注释 我是第三行注释*/ ( ...

  7. [人脸识别]06-JPG人脸检测

    1-程序 #导入CV模块 import cv2 as cv def face_detect_fun(): gray=cv.cvtColor(img,cv.COLOR_BGR2GRAY) print(c ...

  8. web执行shell脚本

    转载请注明来源:https://www.cnblogs.com/Sherlock-L/p/15584456.html 缘起 去年写过一个shell脚本用来校验统计打点,工作使用.发现同事不太熟悉这块, ...

  9. git远程分支回退到某个版本

    1.找到要回退的版本号(右击项目--> Git --> Show History -->选中要回退的版本-->Copy Revision Number): 2.打开idea的T ...

  10. Win10删除此电脑默认的7个文件夹

    删除方法 用记事本拷贝以下内容,改文件后缀为reg,然后点击执行. Windows Registry Editor Version 5.00 ;如需还原去除上语句前减号即可 ;取消我的电脑" ...