简单谈谈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 相关文章推荐
深入认识JavaScript中的函数
Jan 22 Javascript
Js使用WScript.Shell对象执行.bat文件和cmd命令
Dec 18 Javascript
原生js页面滚动延迟加载图片
Dec 20 Javascript
Jquery实现简单的轮播效果(代码管用)
Mar 14 Javascript
javascript超过容器后显示省略号效果的方法(兼容一行或者多行)
Jul 14 Javascript
详解Angular-cli生成组件修改css成less或sass的实例
Jul 27 Javascript
微信小程序实现人脸识别
May 25 Javascript
vue axios数据请求及vue中使用axios的方法
Sep 10 Javascript
Vue + Elementui实现多标签页共存的方法
Jun 12 Javascript
解决Layui当中的导航条动态添加后渲染失败的问题
Sep 25 Javascript
JavaScript实现简单的计算器
Jan 16 Javascript
vue 子组件修改data或调用操作
Aug 07 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
淘宝ip地址查询类分享(利用淘宝ip库)
2014/01/07 PHP
php5.2 Json不能正确处理中文、GB编码的解决方法
2014/03/28 PHP
AJAX架构之Dojo篇
2007/04/10 Javascript
CodeMirror2 IE7/IE8 下面未知运行时错误的解决方法
2012/03/29 Javascript
js 窗口抖动示例
2013/09/04 Javascript
使用Jquery获取带特殊符号的ID 标签的方法
2014/04/30 Javascript
JQuery简单实现锚点链接的平滑滚动
2015/05/03 Javascript
JS实现的新浪微博大厅文字内容滚动效果代码
2015/11/05 Javascript
Bootstrap轮播加上css3动画,炫酷到底!
2015/12/22 Javascript
JS遍历页面所有对象属性及实现方法
2016/08/01 Javascript
jQuery 获取页面li数组并删除不在数组中的key
2016/08/02 Javascript
手机端点击图片放大特效PhotoSwipe.js插件实现
2016/08/24 Javascript
jQuery焦点图左右转换效果
2016/12/12 Javascript
jQuery DateTimePicker 日期和时间插件示例
2017/01/22 Javascript
详解Angular.js数据绑定时自动转义html标签及内容
2017/03/30 Javascript
jQuery选取所有复选框被选中的值并用Ajax异步提交数据的实例
2017/08/04 jQuery
JavaScript之创意时钟项目(实例讲解)
2017/10/23 Javascript
vue-router之nuxt动态路由设置的两种方法小结
2018/09/26 Javascript
javascript合并两个数组最简单的实现方法
2019/09/14 Javascript
基于JavaScript实现大文件上传后端代码实例
2020/08/18 Javascript
[04:30]显微镜下的DOTA2第五期——拉比克
2013/09/26 DOTA
python处理csv数据的方法
2015/03/11 Python
Python过滤列表用法实例分析
2016/04/29 Python
PyQt5每天必学之单行文本框
2018/04/19 Python
Python并发之多进程的方法实例代码
2018/08/15 Python
Python爬虫解析网页的4种方式实例及原理解析
2019/12/30 Python
Python图片处理模块PIL操作方法(pillow)
2020/04/07 Python
Python json读写方式和字典相互转化
2020/04/18 Python
在 Windows 下搭建高效的 django 开发环境的详细教程
2020/07/27 Python
林清轩官方网站:山茶花润肤油开创者
2016/10/26 全球购物
小学生操行评语
2014/04/22 职场文书
创先争优个人承诺书
2014/08/30 职场文书
党的群众路线教育实践活动整改落实情况报告
2014/10/28 职场文书
2016三八妇女节慰问信
2015/11/30 职场文书
反邪教学习心得体会
2016/01/15 职场文书
微信小程序实现聊天室功能
2021/06/14 Javascript