简单谈谈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 相关文章推荐
用js重建星际争霸
Dec 22 Javascript
动态加载JS文件的三种方法
Nov 08 Javascript
javascript怎么禁用浏览器后退按钮
Mar 27 Javascript
jQuery检测输入的字符串包含的中英文的数量
Apr 17 Javascript
JavaScript对象参数的引用传递
Jan 14 Javascript
JavaScript prototype属性详解
Oct 25 Javascript
js仿iphone秒表功能 计算平均数
Jan 11 Javascript
详解webpack 多页面/入口支持&公共组件单独打包
Jun 29 Javascript
layDate插件设置开始和结束时间
Nov 15 Javascript
Node.js+ELK日志规范的实现
May 23 Javascript
使用 Element UI Table 的 slot-scope方法
Oct 10 Javascript
如何HttpServletRequest文件对象并储存
Aug 14 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读取文件内容的五种方式
2015/12/28 PHP
php实现简单爬虫的开发
2016/03/28 PHP
PHP性能分析工具xhprof的安装使用与注意事项
2017/12/19 PHP
PHP微信发送推送消息乱码的解决方法
2019/02/28 PHP
imagettftext() 失效,不起作用
2021/03/09 PHP
用js来解决ajax读取页面乱码
2010/11/28 Javascript
sliderToggle在写jquery的计时器setTimeouter中不生效
2014/05/26 Javascript
一个判断抢购时间是否到达的简单的js函数
2014/06/23 Javascript
Node.js 制作实时多人游戏框架
2015/01/08 Javascript
解决微信浏览器Javascript无法使用window.location.reload()刷新页面
2016/06/21 Javascript
在vue项目中引入highcharts图表的方法
2019/01/21 Javascript
Vue项目安装插件并保存
2019/01/28 Javascript
使用Angular9和TypeScript开发RPG游戏的方法
2020/03/25 Javascript
vue element ui validate 主动触发错误提示操作
2020/09/21 Javascript
[01:03:27]NAVI vs EG 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
跟老齐学Python之编写类之二方法
2014/10/11 Python
简述Python中的进程、线程、协程
2016/03/18 Python
深入理解python函数递归和生成器
2016/06/06 Python
利用Python为iOS10生成图标和截屏
2016/09/24 Python
[原创]使用豆瓣提供的国内pypi源
2017/07/02 Python
python实现决策树、随机森林的简单原理
2018/03/26 Python
Python Pandas批量读取csv文件到dataframe的方法
2018/10/08 Python
Python3实现计算两个数组的交集算法示例
2019/04/03 Python
Python语言异常处理测试过程解析
2020/01/08 Python
解决jupyter notebook import error但是命令提示符import正常的问题
2020/04/15 Python
基于Html5 canvas实现裁剪图片和马赛克功能及又拍云上传图片 功能
2019/07/09 HTML / CSS
Marc Jacobs彩妆官网:Marc Jacobs Beauty
2017/07/03 全球购物
Farfetch美国:奢侈品牌时尚购物平台
2019/05/02 全球购物
求职简历中自我评价
2014/01/28 职场文书
数学教师求职信范文
2015/03/20 职场文书
2015年家长学校工作总结
2015/04/22 职场文书
关于上班时间调整的通知
2015/04/23 职场文书
幸福终点站观后感
2015/06/04 职场文书
婚礼必备主持词范本!
2019/07/23 职场文书
linux下安装redis图文详细步骤
2021/12/04 Redis
数据设计之权限的实现
2022/08/05 MySQL