JS数据类型

  ECMAScript中有5种简单的数据类型:Undefined,Null,Boolean,Number,String.还有一种复杂的数据类型--Object(本质上是由一组无序的名值对组成的).

typeof操作符--用于检测给定变量的数据类型

"undefined"—未定义

"boolean"—布尔值

"string"—字符串

"number"—数值

"object"—对象或者null

"function"—函数

1.Undefined类型

  Undefined类型只有一个值,即为特殊的undefined。

  1.1 在使用var声明变量但并未对其加以初始化时,这个变量就是undefined,例如:

  var message;

  alert(message == undefined); //返回值为true

  该例子为声明了message变量,但是没有对其初始化,因此返回的值为undefined。

  1.2 未声明变量。例如:

  // var age ;

  alert(age) // 产生错误

  1.3 通关typeof返回数据类型时,未定义变量或变量没初始化都将返回undefined 。例如:

  var message;

  // var age;

  alert(typeof message);//undefined

  alert(typeof age);//undefined

  虽然上述两种情况都为undefined,但其本质上来说是不一样的。

2.Null类型

  Null类型是第二个只有一个值的数据类型,这个特殊的值为null。从逻辑角度来看,null值表示一个空对象指针,而这也正是typeof操作符检测到null值返回object的原因。例如:

  var car = null;

  alert(typeof car);//object

  因此,若定义一个空的变量用于将来存储对象,初始化时最好使用null。

3.Boolean类型

  boolean类型在ECMAscript中用得比较多的一种类型,它只有两个值:true or  false 。

但是这两个数值不是一回事,其他语言可能为1真0假,但是这里不是这样的。下面是为变量赋boolean值的例子:

  var found = true ;

  var lost = false;

  注意:true 和 false 区分大小写。

  ECMAScript中可以用Boolean()函数转化相应的值为boolean值。例如:

  var message = "Hello World";

  var messageBoolean = Boolean(message) //这里为true,下面会讲解具体类型的值转化为对应boolean值的情况。

  

boolean()
数据类型 为true的情况 为flase的情况
Boolean true false
String 任何非空字符串 ""(空的字符串)
Number 任何非零数字值(包括无穷大) 0或者NaN
Object 任何对象 null
Undefined 不适用 undefined

4.Number类型

  4.1 整数:  var intNun = 44;//整数

       八进制:   var octalNum1 = 070;//八进制的56

           var octalNum2 = 079;//无效的八进制的数值-解析为79

     十六进制:  var hexNum1 = 0xA; //十六进制的10

             var hexNum2 = 0x1f ; //十六进制31 

  

  4.2 浮点数值: var floatNum1 = 1.1;

       var floatNum2 = 2.3534e7 ; //e7代表10的7次幂,即为23534000

  4.3 NaN:特殊的数值,它本身也不等于他本身

    alert(NaN==NaN);//false

  4.4数值的转化

  Number();//可用于任何数据

  parseInt();//转化为整型

  parseFloat();//转化为浮点型

5.String类型

  用于表示由零个或多个16位Unicode字符串组成的字符序列,即为字符串。通常用单引号('')或双引号("")表示,例如:

  var firstName = "Li";

  var lastName = 'hua';

  字符字面量

  

常用字符字面量
\n 换行
\t 制表
\r 回车
\f 进纸
\\ 斜杠
\' 单引号
\" 双引号
\b 退格

6.Object类型

  ECMAScript中的对象其实就是一组数据和功能的集合。

  var o = new Object(); //创建一个新的对象

  Object的每个实例都具有以下的属性和方法:

    1.constructor:保存着用于创建当前对象的函数。

    2.hasOwnProperty(propertyName):用于检测给定的属性在当前对象实例中是否存在。其中参数名必须以字符串形式指定,例如:

    O.hasOwnproperty("name");

    3.isPrototypeOf(object):用于检查传入对象是否是当前对象的原型。

    4.propertyIsRnumerable(propertyName):用于检查给定的属性是否能够使用 for-in 语句,与hasOwnProperty用法一样,参数名必须以字符串形式指定。

    5.toLocaleString():返回对象的字符串表示。

    6.valueOf():返回对象的字符串、数值或布尔值表示。通常与toString()方法返回值相同。

js数据类型简单介绍的更多相关文章

  1. 【FIORI系列】SAP OpenUI5 (SAPUI5) js框架简单介绍

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[FIORI系列]SAP OpenUI5 (SA ...

  2. vue之node.js的简单介绍

    一.什么是node.js? 它是可以运行JavaScript的服务平台,可以吧它当做一门后端程序,只是它的开发语言是JavaScript 二.安装 1.node.js的特性: - 非阻塞IO模型 - ...

  3. js的简单介绍

    1.js的介绍 js全称叫javascript,但不是java,他是一门前台语言,而java是后台语言. js的作者是布兰登艾奇. 前台语言:运行在客户端的 后台语言:跟数据库有关的. 2.能干什么? ...

  4. 前端框架VUE----node.js的简单介绍

    一.什么是node.js? 它是可以运行JavaScript的服务平台,可以吧它当做一门后端程序,只是它的开发语言是JavaScript 二.安装 1.node.js的特性: - 非阻塞IO模型 - ...

  5. vue学习【第三篇】:vue之node.js的简单介绍

    什么是node.js 它是可以运行JavaScript的服务平台,可以吧它当做一门后端程序,只是它的开发语言是JavaScript 安装node.js node.js的特性 - 非阻塞IO模型 - 时 ...

  6. vue之 node.js 的简单介绍

    一.什么是 node.js? 它是可以运行在JavaScript的服务平台 二.安装 1.node.js的特性 - 非阻塞IO模型 - 时间驱动 2.运用场景 - 高并发低业务 - 实时场景 - 聊天 ...

  7. js的简单介绍及基本用法

    1. JS的简介 概述: JavaScript, 是一门弱类型语言, 用来给页面增加动态功能的. //弱类型语言: 对数据的数据类型划分不精细(不明确). 特点: A. JavaScript 是一种轻 ...

  8. js的简单介绍和相关的必备常识

    一.概念 1.js是JavaScript的缩写,是运行在浏览器端或服务端的依附于页面的脚本语言. 2.js的学习分为:ECMA语法.Dom网页对象模型.Bom浏览器的对象模型 3.ECMA是浏览器厂商 ...

  9. vue—你必须知道的 js数据类型 前端学习 CSS 居中 事件委托和this 让js调试更简单—console AMD && CMD 模式识别课程笔记(一) web攻击 web安全之XSS JSONP && CORS css 定位 react小结

    vue—你必须知道的   目录 更多总结 猛戳这里 属性与方法 语法 计算属性 特殊属性 vue 样式绑定 vue事件处理器 表单控件绑定 父子组件通信 过渡效果 vue经验总结 javascript ...

随机推荐

  1. 【DFS求树的最大二分匹配+输入外挂】HDU 6178 Monkeys

    http://acm.hdu.edu.cn/showproblem.php?pid=6178 [题意] 给定一棵有n个结点的树,现在有k个猴子分布在k个结点上,我们可以删去树上的一些边,使得k个猴子每 ...

  2. 2017NOIP初赛游记

    前天晚上,玩三国杀,玩到了昨天凌晨2点40多分吧,我觉得初赛要爆炸了, 不得不吐槽一下,三国杀的武将太少了. 昨天是初赛的日子,上午8点多来了后看了看阅读程序和程序填空,复习了以下理论知识和wsj 然 ...

  3. android获取手机号

    private String getPhoneNum(){ //与手机建立连接 TelephonyManager tm = (TelephonyManager)getSystemService(Con ...

  4. usaco feb04距离咨询

    [USACO FEB04]距离咨询 成绩   开启时间 2014年09月19日 星期五 10:08 折扣 0.8 折扣时间 2014年09月26日 星期五 10:08 允许迟交 是 关闭时间 2014 ...

  5. 识别SQL Server 性能杀手

    性能优化的重点在于识别定位问题,预先了解主要的性能杀手,能够更快的定位到问题并将工作集中在可能的原因之上. SQL SERVER性能杀手主要集中在如下几类: 1.1   低质量的索引 低质量的索引通常 ...

  6. .net core webapi jwt 更为清爽的认证

    原文:.net core webapi jwt 更为清爽的认证 我的方式非主流,控制却可以更加灵活,喜欢的朋友,不妨花一点时间学习一下 jwt认证分为两部分,第一部分是加密解密,第二部分是灵活的应用于 ...

  7. mysql统计功能和数据库information_schema/performance_schema

    1.去重统计数据表行数: select count(distinct col_name) from table_name; 2.统计行数 select count(*) from table_name ...

  8. centos安装配置nginx,ssl生产和配置教程

    [一]nginx安装nginx安装带ssl扩展: cd /usr/local/src #进入用户目录wget http://nginx.org/download/nginx-1.15.0.tar.gz ...

  9. 若菜acmer感觉自己智商全然被碾压了QAQ~~

    题目大意是:输入n,m,给出n*m(n.m<=100)的不是正规的布满棋子的棋盘,求最少改几个棋子能够使得棋盘正规,正规的棋盘必须是每一个相邻的棋子颜色都不同(仅仅有黑白两种,用0,1取代) 比 ...

  10. 【Todo】已经打开的页面需要清掉的坑

    下面是当前我浏览器里面打开的技术文章.需要清掉.一个坑一个坑地填吧. 微信文件传输里面也有几篇12.6号的<Akuna Capital电面面经><2016最流行的Java EE服务器 ...