简单谈谈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 相关文章推荐
从Ajax到JQuery Ajax学习
Feb 14 Javascript
初学Javascript的一些总结
Nov 03 Javascript
jQuery 源码分析笔记(7) Queue
Jun 19 Javascript
图片延迟加载的实现代码(模仿懒惰)
Mar 29 Javascript
jquery统计用户选中的复选框的个数
Jun 06 Javascript
常用javascript表单验证汇总
Jul 20 Javascript
JavaScript编写页面半透明遮罩效果的简单示例
May 09 Javascript
JavaScript如何实现图片懒加载(lazyload) 提高用户体验(增强版)
Nov 30 Javascript
JS实现提示框跟随鼠标移动
Aug 27 Javascript
vue点击标签切换选中及互相排斥操作
Jul 17 Javascript
JavaScript实现弹出窗口效果
Dec 09 Javascript
JavaScript实现筛选数组
Mar 02 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 base64+gzinflate压缩编码和解码代码
2008/10/03 PHP
检测png图片是否完整的php代码
2010/09/06 PHP
laravel获取不到session的三种解决办法【推荐】
2018/09/16 PHP
javascript 字符串连接的性能问题(多浏览器)
2008/11/18 Javascript
有关DOM元素与事件的3个谜题
2010/11/11 Javascript
javascript中xml操作实现代码
2011/11/21 Javascript
javascript学习笔记(二十) 获得和设置元素的特性(属性)
2012/06/20 Javascript
基于jQuery选择器的整理集合
2013/04/26 Javascript
BootStrap中关于Select下拉框选择触发事件及扩展
2016/11/22 Javascript
求js数组的最大值和最小值的四种方法
2017/03/03 Javascript
slideToggle+slideup实现手机端折叠菜单效果
2017/05/25 Javascript
AngularJS点击添加样式、点击变色设置的实例代码
2017/07/27 Javascript
javaScript产生随机数的用法小结
2018/04/21 Javascript
Nodejs实现用户注册功能
2019/04/14 NodeJs
layui监听单元格编辑前后交互的例子
2019/09/16 Javascript
浅谈在vue-cli3项目中解决动态引入图片img404的问题
2020/08/04 Javascript
[02:55]2018DOTA2国际邀请赛勇士令状不朽珍藏Ⅲ饰品一览
2018/08/01 DOTA
Python实现基于HTTP文件传输实例
2014/11/08 Python
python静态方法实例
2015/01/14 Python
Python两个内置函数 locals 和globals(学习笔记)
2016/08/28 Python
Python爬虫_城市公交、地铁站点和线路数据采集实例
2018/01/10 Python
python版学生管理系统
2018/01/10 Python
django 开发忘记密码通过邮箱找回功能示例
2018/04/17 Python
通过Python编写一个简单登录功能过程解析
2019/09/04 Python
TensorBoard 计算图的查看方式
2020/02/15 Python
Python HTTP下载文件并显示下载进度条功能的实现
2020/04/02 Python
为什么称python为胶水语言
2020/06/16 Python
Python自定义sorted排序实现方法详解
2020/09/18 Python
巴黎欧莱雅法国官网:L’Oreal Paris
2019/04/30 全球购物
文员自我评价怎么写
2013/09/19 职场文书
采购主管岗位职责
2014/02/01 职场文书
宣传普通话标语
2014/06/27 职场文书
中学生纪念九一八事变演讲稿
2014/09/14 职场文书
学校纪律作风整改措施思想汇报
2014/10/11 职场文书
2015年创先争优工作总结
2015/05/23 职场文书
pt-archiver 主键自增
2022/04/26 MySQL