js数据类型简单介绍
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值的情况。
数据类型 | 为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数据类型简单介绍的更多相关文章
- 【FIORI系列】SAP OpenUI5 (SAPUI5) js框架简单介绍
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[FIORI系列]SAP OpenUI5 (SA ...
- vue之node.js的简单介绍
一.什么是node.js? 它是可以运行JavaScript的服务平台,可以吧它当做一门后端程序,只是它的开发语言是JavaScript 二.安装 1.node.js的特性: - 非阻塞IO模型 - ...
- js的简单介绍
1.js的介绍 js全称叫javascript,但不是java,他是一门前台语言,而java是后台语言. js的作者是布兰登艾奇. 前台语言:运行在客户端的 后台语言:跟数据库有关的. 2.能干什么? ...
- 前端框架VUE----node.js的简单介绍
一.什么是node.js? 它是可以运行JavaScript的服务平台,可以吧它当做一门后端程序,只是它的开发语言是JavaScript 二.安装 1.node.js的特性: - 非阻塞IO模型 - ...
- vue学习【第三篇】:vue之node.js的简单介绍
什么是node.js 它是可以运行JavaScript的服务平台,可以吧它当做一门后端程序,只是它的开发语言是JavaScript 安装node.js node.js的特性 - 非阻塞IO模型 - 时 ...
- vue之 node.js 的简单介绍
一.什么是 node.js? 它是可以运行在JavaScript的服务平台 二.安装 1.node.js的特性 - 非阻塞IO模型 - 时间驱动 2.运用场景 - 高并发低业务 - 实时场景 - 聊天 ...
- js的简单介绍及基本用法
1. JS的简介 概述: JavaScript, 是一门弱类型语言, 用来给页面增加动态功能的. //弱类型语言: 对数据的数据类型划分不精细(不明确). 特点: A. JavaScript 是一种轻 ...
- js的简单介绍和相关的必备常识
一.概念 1.js是JavaScript的缩写,是运行在浏览器端或服务端的依附于页面的脚本语言. 2.js的学习分为:ECMA语法.Dom网页对象模型.Bom浏览器的对象模型 3.ECMA是浏览器厂商 ...
- vue—你必须知道的 js数据类型 前端学习 CSS 居中 事件委托和this 让js调试更简单—console AMD && CMD 模式识别课程笔记(一) web攻击 web安全之XSS JSONP && CORS css 定位 react小结
vue—你必须知道的 目录 更多总结 猛戳这里 属性与方法 语法 计算属性 特殊属性 vue 样式绑定 vue事件处理器 表单控件绑定 父子组件通信 过渡效果 vue经验总结 javascript ...
随机推荐
- [BZOJ4989] [Usaco2017 Feb]Why Did the Cow Cross the Road(树状数组)
传送门 发现就是逆序对 可以树状数组求出 对于旋转操作,把一个序列最后面一个数移到开头,假设另一个序列的这个数在位置x,那么对答案的贡献 - (n - x) + (x - 1) #include &l ...
- [USACO5.3]Big Barn (动态规划)
题目描述 农夫约翰想要在他的正方形农场上建造一座正方形大牛棚.他讨厌在他的农场中砍树,想找一个能够让他在空旷无树的地方修建牛棚的地方.我们假定,他的农场划分成 N x N 的方格.输入数据中包括有树的 ...
- 【jquery创建元素添加元素】
使用jquery创建新元素的方法为:$(html标签),例如 $("<p></p>")创建了一个段落.注意此时只是创建了对象,尚未添加到文档节点中去:以下四 ...
- CodeForces 731C Socks
http://codeforces.com/problemset/problem/731/C 并查集+贪心 将要求颜色相同的袜子序号放入一个集合中 贪心:然后统计这个集合中出现次数最多但颜色 可以得到 ...
- bootstrap theme & template
https://wrapbootstrap.com/ Unify http://wrapbootstrap.com/preview/WB0412697 https://htmlstream.com/p ...
- 解决vs2005调试时出现未载入符号的问题
首先在以下的网址下载相应系统的符号包 http://www.microsoft.com/whdc/devtools/debugging/symbolpkg.mspx 下载完之后安装到一个文件夹比方D: ...
- 操作系统学习(三)-- CPU调度
操作系统之进程与线程 L14 CPU调度策略 如何设计调度算法? 调度关键在:折中和综合 IO约束型的任务一般是前台任务,和用户交互:CPU约束型关注周转时间 进程切换过程需要系统内耗,切换时间长则系 ...
- chrome 的onbeforeunload事件没有触发
onbeforeunload event is not working when user not click inside the body of page 0down votefavorite ...
- memcache的学习路线图
memcache学习材料 //memcache自带的github 上的 wiki //席剑飞 Memcache(MC)系列 1~8系列 评注: memcache系统写的最深的一博客,建议一读 ...
- centos 複製時顯示進度的指令 pv
Pipe Viewer 的简称pv:意思是通过管道显示数据处理进度的信息.这些信息包括已经耗费的时间,完成的百分比(通过进度条显示),当前的速度,全部传输的数据,以及估计剩余的时间. yum inst ...