简单谈谈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 14 Javascript
JS中实现简单Formatter函数示例代码
Aug 19 Javascript
使用Raygun来自动追踪AngularJS中的异常
Jun 23 Javascript
Bootstrap每天必学之导航
Nov 26 Javascript
EasyUi中的Combogrid 实现分页和动态搜索远程数据
Apr 01 Javascript
JS 根据子网掩码,网关计算出所有IP地址范围示例
Apr 23 Javascript
jquery无法为动态生成的元素添加点击事件的解决方法(推荐)
Dec 26 Javascript
js 只比较时间大小的实例
Oct 26 Javascript
Vue+Jwt+SpringBoot+Ldap完成登录认证的示例代码
May 21 Javascript
使用vue2实现带地区编号和名称的省市县三级联动效果
Nov 05 Javascript
浅谈vue中关于checkbox数据绑定v-model指令的个人理解
Nov 14 Javascript
vue指令v-html使用过滤器filters功能实例
Oct 25 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 向右侧拉菜单实现代码,测试使用中
2009/11/03 PHP
Smarty最简单实现列表奇偶变色的方法
2015/07/01 PHP
微信开发之php表单微信中自动提交两次问题解决办法
2017/01/08 PHP
PHP获取表单数据与HTML嵌入PHP脚本的实现
2017/02/09 PHP
CentOS7编译安装php7.1的教程详解
2019/04/18 PHP
php源码的使用方法讲解
2019/09/26 PHP
php-fpm超时时间设置request_terminate_timeout资源问题分析
2019/09/27 PHP
Jquery自定义button按钮的几种方法
2014/06/11 Javascript
jQuery的animate函数实现图文切换动画效果
2015/05/03 Javascript
JS实现图片剪裁并预览效果
2016/08/12 Javascript
详解JavaScript对象的深浅复制
2017/03/30 Javascript
详解Windows下安装Nodejs步骤
2017/05/18 NodeJs
jQuery制作input提示内容(兼容IE8以上)
2017/07/05 jQuery
form表单序列化详解(推荐)
2017/08/15 Javascript
利用JS如何计算字符串所占字节数示例代码
2017/09/13 Javascript
Vue-cli配置打包文件本地使用的教程图解
2018/08/02 Javascript
Vue Echarts实现可视化世界地图代码实例
2019/05/07 Javascript
详解Webpack如何引入CDN链接来优化编译后的体积
2019/06/21 Javascript
从零学Python之hello world
2014/05/21 Python
在Python的一段程序中如何使用多次事件循环详解
2017/09/07 Python
python之信息加密题目详解
2019/06/26 Python
对Python中小整数对象池和大整数对象池的使用详解
2019/07/09 Python
matplotlib bar()实现多组数据并列柱状图通用简便创建方法
2021/02/24 Python
纺织工程专业个人求职信范文
2014/01/27 职场文书
土建工程师岗位职责
2014/06/10 职场文书
2014年学校体育工作总结
2014/12/08 职场文书
2014年妇幼卫生工作总结
2014/12/09 职场文书
护士长2015年终工作总结
2015/04/24 职场文书
学校工会工作总结2015
2015/05/19 职场文书
辩护词格式
2015/05/22 职场文书
自荐信大全
2019/03/21 职场文书
有关花店创业的计划书模板
2019/08/27 职场文书
2019年幼儿园家长接送责任书
2019/10/29 职场文书
在Spring-Boot中如何使用@Value注解注入集合类
2021/08/02 Java/Android
MySQL 条件查询的常用操作
2022/04/28 MySQL
Mysql数据库group by原理详解
2022/07/07 MySQL