简单谈谈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闭包 推荐
Mar 01 Javascript
js验证身份证号有效性并提示对应信息
Oct 19 Javascript
基于jquery animate操作css样式属性小结
Nov 27 Javascript
HTML5+jQuery插件Quicksand实现超酷的星际争霸2兵种分类展示效果(附demo源码下载)
May 25 Javascript
jQuery实现带遮罩层效果的blockUI弹出层示例【附demo源码下载】
Sep 14 Javascript
详解springmvc 接收json对象的两种方式
Dec 06 Javascript
thinkphp标签实现bootsrtap轮播carousel实例代码
Feb 19 Javascript
用vue和node写的简易购物车实现
Apr 25 Javascript
Js自定义多选框效果的实例代码
Jul 05 Javascript
微信小程序 调用微信授权窗口相关问题解决
Jul 25 Javascript
node中使用log4js4.x版本记录日志的方法
Aug 20 Javascript
js+canvas实现纸牌游戏
Mar 16 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
Win2000+Apache+MySql+PHP4+PERL安装使用小结
2006/10/09 PHP
php数据库配置文件一般做法分享
2012/07/07 PHP
php去除html标记的原生函数详解
2015/01/27 PHP
PHP读取文本文件并逐行输出该行使用最多的字符与对应次数的方法
2016/11/25 PHP
图片按比例缩放函数
2006/06/26 Javascript
JavaScript 轻松搞定快捷留言功能 只需一行代码
2010/04/01 Javascript
Javascript生成json的函数代码(可以用php的json_decode解码)
2012/06/11 Javascript
JQuery教学之性能优化
2014/05/14 Javascript
jQuery插件formValidator实现表单验证
2016/05/23 Javascript
原生js简单实现放大镜特效
2017/05/16 Javascript
利用require.js与angular搭建spa应用的方法实例
2017/07/19 Javascript
Vue2.0父组件与子组件之间的事件发射与接收实例代码
2017/09/19 Javascript
vue组件编写之todolist组件实例详解
2018/01/22 Javascript
JQuery判断radio单选框是否选中并获取值的方法
2019/01/17 jQuery
qrcode生成二维码微信长按无法识别问题的解决
2019/04/04 Javascript
jQuery实现动态加载(按需加载)javascript文件的方法分析
2019/05/31 jQuery
微信小程序实现菜单左右联动
2020/05/19 Javascript
[41:08]2014 DOTA2国际邀请赛中国区预选赛 HGT VS NE
2014/05/22 DOTA
[03:41]DOTA2上海特锦赛小组赛第三日recap精彩回顾
2016/02/28 DOTA
[04:45]上海特级锦标赛主赛事第三日TOP10
2016/03/05 DOTA
使用Python内置的模块与函数进行不同进制的数的转换
2016/03/12 Python
java中两个byte数组实现合并的示例
2018/05/09 Python
django反向解析和正向解析的方式
2018/06/05 Python
Python线程下使用锁的技巧分享
2018/09/13 Python
python实现从文件中读取数据并绘制成 x y 轴图形的方法
2018/10/14 Python
Python编程学习之如何判断3个数的大小
2019/08/07 Python
python元组和字典的内建函数实例详解
2019/10/22 Python
Python Request类源码实现方法及原理解析
2020/08/17 Python
Python实现敏感词过滤的4种方法
2020/09/12 Python
东南亚冒险旅行与活动:Adventoro
2019/10/16 全球购物
英国网上电器商店:Electricshop
2020/03/15 全球购物
联强国际笔试题面试题
2013/07/10 面试题
职工运动会邀请函
2014/01/19 职场文书
省级优秀毕业生主要事迹
2014/05/29 职场文书
2015年度物流工作总结
2015/04/30 职场文书
2015年学校总务工作总结
2015/07/20 职场文书