js上 三、数据类型
3.1.什么是数据类型
a. 什么是数据类型?
想从生活中出发:
考验智商的时刻到了:
1(只)+1(只)=1(双)
3(天)+4(天)=1(周)
5(月)+7(月)=1(年)
4(时)+9(时)=1(时)
6(盎司)+10(盎司)=1(磅)
在日常生活中,描述不同的东西,有不同的一些单位。
实际上,编程也是要解决我们生活中的问题,在程序中,如何描述这些内容呢。
针对不同的内容,根据其特性,需要用不同的单位(类型)加以描述,这就是数据类型的概念。
比如,描述人的时候:
姓名:小强
年龄:20;
b. 为什么要对数据进行分类?
就如垃圾分类一样,当对数据进行分类以后,可以方便管理以及方便操作。
c. 在js中,到底有哪些数据类型?
#3.2.数值类型(number)
作用:用来表示数字的,任何数字都可以使用数值类型。比如商品价格、年份、年龄等。
商品价格:9.9
年份:1952
年龄:99
number:整数,小数(浮点数),NaN;
#3.3.typeof
作用:typeof:检测数据类型的关键字
语法1:typeof v
语法2:typeof(v)
说明:v表示检测的数据;
返回值:typeof方法返回结果的数据类型是string;
即:两个typeof一定得到的是“string”
我们可以使用typeof 运算符来查看类型:
浮点数的多种写法 (3.14,.33333)(了解)
JavaScript算术运算的特殊性(溢出、被零整除都不会报错)(了解)
#特殊的NaN(重点)
NaN: not a Number,不是一个数值,但他是number 类型;
说明:1)NaN表示一个本来要返回数字,但是由于某种原因,没有返回成功,就用NaN表示。
2)NaN与任何值都不行等,包括其本身
3)NaN与其他任意值进行运算,都为NaN;
运算的不精确性(了解)
针对小数,运算具有不确定性。
在js中,千万不要去直接判断小数的运算之后是否相等。
如何解决这个判断的问题呢?
先转成整数,再进行计算,然后判断即可。
最佳实践:
ü 不要试图用==判断两个浮点数是否相等
#3.4.字符串类型
有一系列的字符构成的数据。
描述某个名称的,用户名、密码、籍贯等。
在使用字符串类型数据的使用,需要使用引号:
双引号:“”
单引号:‘’
如果没有引号,那么js就会将其当做变量来对待,如下:
注意:
ü 双引号和单引号要配对使用,不要出现如下情况:
1、一单一双使用
2、当js代码本身被引号所引用,然后在js代码中,又用到了字符串,如下:
由于hello,本身是字符串,但是没有引号引用,它被js当做变量来理解,但是这个又没有定义过,所以报上述错误。
再如:
3、由于js中,引号要配对使用,上述刚好违背了这个原则,导致错误。
4、看正确的写法:
5、有时候,需要输出特定的一些符号,js为我们提供了转义字符的用法,如下:
使用\n,之后,如下:
Js中,常用的转义字符如下:
#3.5.布尔类型 boolean
只有两个值:
ü **true ** :真
ü **false ** :假
在js中,严格区分大小写。
一般会在判断(条件、循环)等语句中来使用。
基本使用如下:
我们有可以使用typeof 运算符来获取布尔值的类型。
#3.6.undefined
面试经典题目:undefined和null是什么意思,有什么区别没有?
undefined:un前缀+ defined,未定义的。
**1 ** **、**如果一个变量,通过var声明了,但是没有赋值,则会出现如下提示:
**2.**检测没有赋值的变量的类型
**3 ** **、**如果一个变量,没有通过var声明,直接就访问,会出现如下错误:
**4、**检测没有声明变量的类型;
说明变量,只要声明,就是存在的。
就看是否赋值了,如果没有赋值,那么它的值是undefined,并且它的数据类型也是undefined。
换句话说,undefined是js中的一种数据类型,它只有一个值,就是undefined。
#3.7.null:空类型;
在使用的时候,需要显式的赋值为null,才可以的。
作用:
当将来需要存储一个对象的时候,可以给其初始值赋为null;
或者说需要销毁某个对象,也可以将其赋值为null。
**Undefined ** 和null的区别:
ü undefined是针对普通的变量而言的。
ü null针对对象而言的。
它们的值其实是相等的。就是类型不一样。null==undefined
注意:null是一种特殊的object类型,故
为什么有两个东西?
和历史有关。(了解)
刚开始的时候,只有null,用来表示初识值为空的情况。
Js不是纯面向对象的,里面还有很多变量和函数的概念,发现使用对象的方式去描述普通的变量,是不合适的,所以后来又添加了一个undefined,专门用来描述变量和函数的。
#3.7.引用类型
引用类型,其实就是对象,即object (在第十四单元有讲解)
首先,有两个非常特殊的对象:
ü 数组,array
ü 函数,function
#小结:
\1. js中数据分为5种基本数据类型和引用类型
\2. 5种基本数据类型分别是 number string boolean null undefined
\3. typeof是检查数据类型的关键字,可以有两种写法 typeof v typeof(v)
\4. typeof方法返回结果的数据类型是string
js上 三、数据类型的更多相关文章
- js上三行下三行和添加多个附件
function addTr(num) { no ++; var obj = document.getElementById(tableID); var oneRow = obj.insertRow( ...
- 如何判断js中的数据类型?
js六大数据类型:number.string.object.Boolean.null.undefined string: 由单引号或双引号来说明,如"string" number: ...
- js的基本数据类型有哪些?
js的基本数据类型有哪些? ECMAScript中有5中简单数据类型(也称为基本数据类型): Undefined.Null.Boolean.Number和String.还有1中复杂的数据类型----O ...
- JavaScript 基础——使用js的三种方式,js中的变量,js中的输出语句,js中的运算符;js中的分支结构
JavaScript 1.是什么:基于浏览器 基于(面向)对象 事件驱动 脚本语言 2.作用:表单验证,减轻服务器压力 添加野面动画效果 动态更改页面内容 Ajax网络请求 () 3.组成部分:ECM ...
- js基础--javaScript数据类型你都弄明白了吗?绝对干货
欢迎访问我的个人博客:http://www.xiaolongwu.cn 数据类型的分类 JavaScript的数据类型分为两大类,基本数据类型和复杂数据类型. 基本数据类型:Null.Undefine ...
- Javascript高级编程学习笔记(3)—— JS中的数据类型(1)
前一段时间由于事情比较多,所以笔记耽搁了一段时间,从这一篇开始我会尽快写完这个系列. 文章中有什么不足之处,还望各位大佬指出. JS中的数据类型 上一篇中我写了有关JS引入的Script标签相关的东西 ...
- Python-JS (JS介绍~JS的基础数据类型)
目录一.JS语言介绍: 1.JS概念 2.JS组成 二.JS的三种存在位置(引入方式): 1.行间式: 2.内联式: 3.外联式: 三.JS出现的具体位置: 四.JS语法规范 五.JS中变量的定义 E ...
- 使用ajaxfileupload.js上传文件
一直以来上传文件都是使用form表单上传文件,也看到过有人使用js上传文件,不过看起来蛮简单的也就没有怎么去理会.今天突然要使用这种方式上传文件,期间还遇到点问题.因此就记录下来,方便以后遇到这样的问 ...
- js中的数据类型及其转换
Js中的数据类型 Js中的数据类型一共有六种,即number,string,boolean,underfine,null,object. 一,number Number数据类型指的是数字,可以为整型, ...
随机推荐
- Angular 富文本编辑之路的探索
作者:杨振兴Worktile 前端工程师,PingCode Wiki 产品技术负责人 PingCode Wiki 提供结构化知识库来记载信息和知识,便于团队沉淀经验.共享资源,欢迎大家注册试用 本文主 ...
- 讲一讲Java的字符串常量池,看完你的思路就清晰了
前言 很多朋友Java的字符串常量池的概念困扰了很长一段时间,最近研究了一下jvm指令码,终于对它有了大概的了解. 在展示案例前,我们需要先搞清楚一个概念,众所周知,jvm的内存模型由程序计数器.虚拟 ...
- Fruity Parametric EQ 2使用说明(一)——FL Studio插件教程
FL Studio插件教程-Fruity Parametric EQ 2使用说明(一) Fruity Parametric EQ 2均衡器,是一款我们在FL Studio制作音乐时经常会用到的插件,它 ...
- 用思维导图软件MindManager整理假期
今天带大家使用MindManager2020软件构建出2020年的节假日思维导图. 既然是做2020年的节假日思维导图,那么有个MindManager技巧就是,关于这一类思维导图我们都可以选择时间线导 ...
- windows创建隐藏用户的powershell脚本
通过保存并重新注册已删除用户的注册表的方式来隐藏用户,未登录时登陆界面不可见,登陆后可见 方法详情见: https://www.k0rz3n.com/2018/06/26/windows%E6%B8% ...
- python+requests之接口测试
最近学习接口测试,测试工具玩的差不多了,想用代码来尝试一下. 发现一个简单的库,requests 一:安装 pip install requests 二:使用 import requests url ...
- golang实现mysql udf
UDF(user-defined function) 当mysql提供的内置函数(count,min,max等)无法满足需求时,udf用于扩展自定义函数,满足特定查询需求. 在这里,假定一种db应用场 ...
- sentinel配置
登陆接口 QPS5,异常0.8,熔断10s 1.异地登陆同省逻辑降级security 2.可疑用户判断certification 3.是否是危险设备判断account 4.是否是自动化imei,ime ...
- 集群--lvs
快一个月没有更新博客了,最近一段时间在忙世界技能大赛网络系统系管理这个项目,没有太多的时间,我百忙之中更新一下.最近赛题中有说到集群这个,lvs这个东西(我也该学学这个了,一直停留在基础部分,是时候学 ...
- rest-framework 解析器
一 解析器的作用: 根据请求头 content-type 选择对应的解析器对请求体内容进行处理. 有application/json,x-www-form-urlencoded,form-data等格 ...