JavaScript(三) 数据类型
数据类型
5+1种数据类型
5种 基础数据类型
Number String boolean null undefined
1种 复杂数据类型
object
typeof 操作符 typeof 操作符返回的值 都是string类型的
返回值
“undefined” 值未定义
“boolean” 值是 boolean类型
“string” 值是string类型的
“number” 值是数字类型的
“object” 值是 对象 或者 null
“function” 值是函数
小题
var a = true;
var b = true; alert(typeof a == b); //false
alert 里面 先计算了 typeof a 得到的是 “boolean” 再执行的是 “boolean” == b 所以的到的是 false ∴ typeof 尽量把要判断的值括起来
Undefined 类型
undefined是window 上的属性 属性值 也是 undefined
∴ 不推荐 拿一个值和 undefined 进行比较 ∵ 找 undefined 的时候 从里面找到 最外面的 window 比较费性能
∴ 赋空值的时候尽量给 null
在 ECMA-262 第三版之前并没有 undefined 这个值
null
null 是关键字
undefined 与 null 的区别
+undefined = NaN
+ null = 0
因为null 是关键字 作为 变量名的时候 会报错 而 undefined 不会
检测某个数是否存在 时 === undefined
检测某个值是否为空时 ===null
Boolean
只有6个值 是false 剩下的都是true
null undefined 0 -0 NaN '' //最后的一个是空字符串
Number 范围 -2^53 ~ 2…^52
表示8进制 以0开头 后面跟的就是八进制数 0123
如果 090 就表示十进制的 90
8进制在严格模式下无效
标识16进制 以 0x开头 后面跟的 就是 16进制数
科学计数法 3.123e4 表示 3.123*10^4
小题
var a = 0.2;
var b = 0.1;
if(a + b = 0.3) {
console.log(true) ;
} else{
console.log(false)
}
//false
因为 计算机计算是 转化成二进制进行计算的 而 二进制的 0.1 0.2 都是无限循环小数 所以 只能找 近似值代替 来计算 (这里产生了误差) 计算完成 再转换成十进制 返回给用户 所以也就不是精准的结果了
解决方法 计算前把小数 *10^n 计算完成再 /10^n
NaN not a number
0/0 -NaN
infinity / infinity NaN
infinity - infinity NaN
NaN != NaN
isNaN() 可以判断传入的值能不能转化成 number类型
数制转换
number() parsInt() parseFloat() 这三个方法都转化成 number 类型
String
一对双引号 或 单引号 包含的部分 js中尽量以 单引号标识字符串
因为 HTML中的引号编译器 会将其解析为双引号 为了避免 意外闭合的 引号
所以 写单引号
Object
创建对象
1.对象直接量 var obj = {};
2.构造函数 var obj = new Object();
小题
Boolean(New Boolean(false));
//true
里面 new 出来的是对象 所有对象的 boolean 都是 true
JavaScript(三) 数据类型的更多相关文章
- 从头开始学JavaScript (三)——数据类型
原文:从头开始学JavaScript (三)--数据类型 一.分类 基本数据类型:undefined.null.string.Boolean.number 复杂数据类型:object object的属 ...
- JS-安全检测JavaScript基本数据类型和内置对象的方法
前言:在前端开发中经常会需要用到检测变量数据类型的需求,比如:判断一个变量是否为undefined或者null来进行下一步的操作,今天在阅读“编写高质量代码-改善JavaScript程序的188个建议 ...
- javaScript(4)---数据类型
javaScript(4)---数据类型 第4章 数据类型 学习要点: 1.typeof操作符 2.Undefined类型 3.Null类型 4.Boolean类型 5.Number类型 6.Stri ...
- JavaScript:数据类型
JavaScript中数据类型分为两种: 1.基本数据类型 string number boolean null undefined 2.引用类型 数组.Object.function 一.基本数据类 ...
- javascript 判断数据类型的几种方法
javascript 判断数据类型的几种方法一.typeof 直接返回数据类型字段,但是无法判断数组.null.对象 typeof 1 "number" typeof NaN &q ...
- JavaScript教程——数据类型概述
简介 JavaScript 语言的每一个值,都属于某一种数据类型.JavaScript 的数据类型,共有六种.(ES6 又新增了第七种 Symbol 类型的值,本教程不涉及.) 数值(number): ...
- JavaScript 引用数据类型
目录 1. 问题描述 2. 原因分析 3. React 中的引用数据类型 4. 业务场景 5. 参考资料 1. 问题描述 今天在写一个代码题时候, 有一个BUG 导致自己停滞好久, 该BUG 可以描述 ...
- JavaScript基础——数据类型
JavaScript使用数据类型来确定如何处理被分配给一个变量的数据.变量的类型决定了你可以对变量进行什么操作,如循环或者执行.下面描述了最常用的变量类型. 字符串(String):此数据类型将字符数 ...
- JavaScript 的数据类型 相关知识点
(1)基本数据类型介绍 JavaScript的数据类型分为两类:原始类型(primitive type)和对象类型(object type) 或者说是:可以拥有方法的类型和不能拥有方法的类型 或者说是 ...
- JavaScript的数据类型
JavaScript的数据类型 1.JavaScript的数据类型包括:字符串.数值.布尔.数组.对象.Null.Undefined. 2.JavaScript拥有动态类型,这以为着同一个变量可用作不 ...
随机推荐
- hdu 1233 还是畅通project(kruskal求最小生成树)
还是畅通project Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Tota ...
- LeetCode OJ 之 Ugly Number II (丑数-二)
题目: Write a program to find the n-th ugly number. Ugly numbers are positive numbers whose prime fact ...
- 十三、 Spring Boot 启动加载数据 CommandLineRunner
实际应用中,我们会有在项目服务启动的时候就去加载一些数据或做一些事情这样的需求. 为了解决这样的问题,spring Boot 为我们提供了一个方法,通过实现接口 CommandLineRunner 来 ...
- JAVA提高二十:CopyOnWriteArrayList&CopyOnWriteArraySet&ConcurrentHashMap介绍
前面我们将java集合类的大部分类都进行了深入分析,但我们会发现一个共性问题就是并发的问题,那么如何解决呢?我们前面基本都是通过Collections的一个工具类来进行的解决,但实际大部分使用中人们普 ...
- DotNetCore跨平台~功能测试TestHost的使用
回到目录 之前写了关于自动化测试的相关文章,包括gitlab,unittest,jenkins pipeline等,基于都是功能点的测试,当我们的框架或者业务修改之后,需要走一篇自动化测试,以此来保证 ...
- HTML5 桌面通知:Notification API
原文地址:http://blog.gdfengshuo.com/article/23/ 前言 Notification API 是 HTML5 新增的桌面通知 API,用于向用户显示通知信息.该通知是 ...
- 贪心算法——Fence Repair(POJ 3253)
题目描述 农夫约翰为了修理栅栏,要将一块很长的木板切割成N块.准备切成的木板长度为L1,L2,L3--LN,未切割前木板的长度恰好为切割后木板长度的总和.每次切断木板时,需要的开销为这块木板的长度.请 ...
- Java I/O---序列化接口Serializable
1.JDK API 中关于Serializable的描述 public interface Serializable 类通过实现 java.io.Serializable 接口以启用其序列化功能.未实 ...
- 三菱Q系列PLC的智能功能模块程序
一.模拟量输入模块Q64AD 1.模块开关或者参数设置 1.1I/O分配 1.2开关设置使用通道1,0-5v, 1.3使用GX configurator设置自动刷新PLC设置智能功能模块参数,即将模拟 ...
- xamarin android viewpager的用法
1.什么是ViewPager 通过手势滑动可以完成view的切换,一般是用来app的引导页或则实现图片轮播,类似网页上的banner轮播. Adnroid 3.0后引入的一个UI控件,在xamarin ...