简单谈谈js的数据类型


Posted in Javascript onSeptember 25, 2017

近期做一些项目的时候发现,自己的js基础还是不够扎实,再看一遍犀牛书,加深自己的理解和印象。所以从这篇文章开始,后面都是关于原生js的一些内容。

这篇文章,我们具体介绍一下js的数据类型其中一种。

一、javaScript(以下简称js)的数据类型分为两类:原始类型和对象类型。js的原始类型包括数字、字符串和布尔值。

二、js有两个特殊的原始值:null(空)和undefined(未定义),它们不是数字、字符串和布尔值。它们通常分别代表各自特殊类型的唯一成员。

三、js中除了数字、字符串、布尔值、null和undefined之外的就是对象了,对象(object)是属性的集合,每个属性都由“名/值对”(值可以是原始值,比如数字、字符串,也可以是对象)构成。

四、普通的js对象是“命名值”的无序集合。js同样定义了一种特殊对象——数组(array),表示带编号的值的有序集合。js专门为数组定义了语法,这个后面我们会有详细的讲述。使数组拥有一些和普通对象不同的特有行为特性。

五、js还定义了一种特殊对象——函数。函数具有与它相关联的可执行代码的对象,通过调用函数运行可执行代码,并返回运行结果。和数组一样,函数的行为特征和其他对象都不一样。

六、如果函数用来初始化(使用new运算符)一个新建的对象,我们称为构造函数,每个构造函数定义一个类对象

下面我具体的为大家讲解一下数据类型的第一种——数字

按照js中的数字格式,能够表示的整数范围是从-9007199254740992~9007199254740992(也就是-253~253)包含边界值。

在js中,当一个数字直接出现在js程序中,我们称为数字直接量,js支持多种格式的数字直接量。

整型直接量,用一个数字序列表示一个十进制整数,比如:0     3    133333

浮点型直接量,浮点型直接量可以含有小数点,比如:3.14    .3333   2.02e23(2.02x1023)e或者E代表多少次幂

js中的算术运算(+(加)、 -(减)、 x(乘)、 /(除)、 %(取余))除了这些基本的运算符外,js还支持更加复杂的算术运算,这些复杂的运算通过作为Math对象的属性定义的函数和常量来实现:

Math.pow(2,53)       //2的53次幂也就是8007199254740992
  Math.round(.6)       //1.0  四舍五入
  Math.ceil(.6)        //1.0   向上取整
  Math.floor(.6)       //0.0   向下取整
  Math.abs(-5)        //5    求绝对值
  Math.max(x,y.z)       //返回最大值
  Math.min(x,y.z)       //返回最小值
  Math.random()       //生成一个大于等于0小于1的伪随机数
  Math.PI           //π  圆周率
  Math.E           //e  自然对数的底数
  Math.sqrt(3)        //3的平方根
  Math.pow(3,1/3)        //3的立方根
  Math.sin(0)           //三角函数:还有cos()和atan等

js采用了IEEE-754浮点数表示法,这是一种二进制表示法,可以精确的表示分数,比如1/2,、1/8和1/1024,但是我们常用的分数都是十进制的分数1/10/1/100等。二进制浮点数表示法并不能精确表示类似0.1这样简单的数字。

比如

0.3-0.2是不等于0.2-0.1的,在真实的运行环境下
0.3-0.2=0.09999999999999998   而
0.2-0.1=0.1
这是由于舍入误差导致的

数字类型的内容大概讲完了,下一章我会为大家讲述第二种数据类型——字符串

以上这篇简单谈谈js的数据类型就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
关于UTF-8的客户端用AJAX方式获取GB2312的服务器端乱码问题的解决办法
Nov 30 Javascript
捕获键盘事件(且兼容各浏览器)
Jul 03 Javascript
js的alert弹出框出现乱码解决方案
Sep 02 Javascript
javascript生成json数据简单示例分享
Feb 14 Javascript
父页面显示遮罩层弹出半透明状态的dialog
Mar 04 Javascript
2014最热门的JavaScript代码高亮插件推荐
Nov 25 Javascript
整理Javascript函数学习笔记
Dec 01 Javascript
jQuery mobile在页面加载时添加加载中效果 document.ready 和window.onload执行顺序比较
Jul 14 Javascript
angularjs 源码解析之scope
Aug 22 Javascript
webpack打包非模块化js的方法
Oct 24 Javascript
使用element-ui table expand展开行实现手风琴效果
Mar 15 Javascript
js实现无缝轮播图效果
Mar 09 Javascript
实现两个文本框同时输入的实例
Sep 25 #Javascript
zTree jQuery 树插件的使用(实例讲解)
Sep 25 #jQuery
对于input 框限定输入值为浮点型的js代码
Sep 25 #Javascript
静态页面实现 include 引入公用代码的示例
Sep 25 #Javascript
React学习之事件绑定的几种方法对比
Sep 24 #Javascript
一文让你彻底搞清楚javascript中的require、import与export
Sep 24 #Javascript
通过源码分析Vue的双向数据绑定详解
Sep 24 #Javascript
You might like
如何判断php数组的维度
2013/06/10 PHP
PHP实现十进制、二进制、八进制和十六进制转换相关函数用法分析
2017/04/25 PHP
jquery 图片 上一张 下一张 链接效果(续篇)
2010/04/20 Javascript
ExtJS4利根据登录后不同的角色分配不同的树形菜单
2014/05/02 Javascript
jQuery实现文本展开收缩特效
2015/06/03 Javascript
详解JavaScript中的blink()方法的使用
2015/06/08 Javascript
jquery+html5烂漫爱心表白动画代码分享
2015/08/24 Javascript
微信JS-SDK坐标位置如何转换为百度地图坐标
2016/07/04 Javascript
全面了解构造函数继承关键apply call
2016/07/26 Javascript
Angular2  NgModule 模块详解
2016/10/19 Javascript
详解Angular的内置过滤器和自定义过滤器【推荐】
2016/12/26 Javascript
jquery封装插件时匿名函数形参和实参的写法解释
2017/02/14 Javascript
JavaScript队列的应用实例详解【经典数据结构】
2017/04/12 Javascript
nodejs中解决异步嵌套循环和循环嵌套异步的问题
2017/07/12 NodeJs
详解在vue-cli中使用路由
2017/09/25 Javascript
nodejs基于mssql模块连接sqlserver数据库的简单封装操作示例
2018/01/05 NodeJs
浅谈layui 表单元素的选中问题
2019/10/25 Javascript
一起写一个即插即用的Vue Loading插件实现
2019/10/31 Javascript
JS面试题中深拷贝的实现讲解
2020/05/07 Javascript
JS常用跨域方法实现原理解析
2020/12/09 Javascript
[04:09]2014DOTA2国际邀请赛Ti西雅图 历届冠军相继出局 BBC综述今日比赛
2014/07/20 DOTA
深入理解Python中字典的键的使用
2015/08/19 Python
python+selenium识别验证码并登录的示例代码
2017/12/21 Python
python 使用值来排序一个字典的方法
2018/11/16 Python
Linux下通过python获取本机ip方法示例
2019/09/06 Python
python随机生成库faker库api实例详解
2019/11/28 Python
教师自我鉴定
2013/12/13 职场文书
安全生产投入制度
2014/01/29 职场文书
毕业设计说明书
2014/05/07 职场文书
企业精神口号
2014/06/11 职场文书
物业工程部岗位职责
2015/02/11 职场文书
2015年财务部年度工作总结
2015/05/19 职场文书
企业安全隐患排查治理制度
2015/08/05 职场文书
2019年最新借条范本!
2019/07/08 职场文书
Mysql 如何查询时间段交集
2021/06/08 MySQL
MySQL常见优化方案汇总
2022/01/18 MySQL