五种基本数据类型

  • 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. Mysql数据库基础第五章:(二)视图

    Mysql数据库基础系列 软件下载地址 提取码:7v7u 数据下载地址 提取码:e6p9 mysql数据库基础第一章:(一)数据库基本概念 mysql数据库基础第一章:(二)mysql环境搭建 mys ...

  2. ifconfig查询的时候,只有lo网卡,没有ens33网卡

    问题ifconfig查询的时候,只有lo网卡,但是ifconfig -a查询的时候却有ens33网卡ls /etc/syconfig/network-scripts/查找所有网卡配置信息文件的时候,没 ...

  3. 肖sir____Apsara Clouder云计算专项技能认证题目收集

    Apsara Clouder云计算专项技能认证: Apsara Clouder云计算专项技能认证:云服务器ECS入门[认证考试真题分享](答案仅供参考) 单选13道题 1.下列哪一个不是重置ECS密码 ...

  4. Web服务器1-socket编程

    任务详情 基于华为鲲鹏云服务器CentOS中(或Ubuntu),使用Linux Socket实现: time服务器的客户端服务器,提交程序运行截图 echo服务器的客户端服务器,提交程序运行截图,服务 ...

  5. Lua中创建新的文件夹

    如下: os.execute('mkdir 文件夹名称')

  6. Building fresh packages卡很久

    [NPM]Building fresh packages运行很久都没反应原创onemetre 最后发布于2019-12-24 10:20:13 阅读数 287 收藏展开[问题]通过YARN 安装,Bu ...

  7. 【SSO单点系列】(9):CAS4.0 之客户端排除不需要过滤的路径

    客户端排除不需要过滤的路径 Web.xml <filter> <filter-name>CASFilter</filter-name> <filter-cla ...

  8. Java笔记_this关键字_HomeWork(1 - 4 题)

    第一题 /** * @ClassName HomeWork01 * @Description TODO * @Author Orange * @Date 2021/4/23 8:14 * @Versi ...

  9. random随机数模块

    #wuyanfengimport random'''random.random()#随机数0到1的浮点数模块random.randint(1,7)#随机1到7闭区间的整数random.randrang ...

  10. DOS命令操作

    打开CMD的方式 1.开始+系统+命令提示符 2.Win键+R 输入CMD打开控制台(推荐使用) 3.在任意的文件夹下面,按住shift+鼠标右键点击,在此处打开命令行窗口 4.资源管理器的地址栏前面 ...