布尔是什么
乔治·布尔(George Boole,1815.11.2~1864),1815年11月2日生于英格兰的林肯。19世纪最重要的数学家之一,出版了《逻辑的数学分析》 ,这是它对符号逻辑诸多贡献中的第一次。1854年,他出版了《思维规律的研究》 ,这是他最著名的著作。在这本书中布尔介绍了现在以他的名字命名的布尔代数。
计算机基于逻辑运算,为纪念布尔而改名为布尔运算。
布尔运算的结果称之为布尔值
布尔类型的值
布尔类型的命名
用途
主要用于判断或者作为比较的结果
布尔类型转换
JS中所有的值都可以转换成布尔类型 使用Boolean()或者 !!(两个感叹号)
可以转化成false的值
只有6个:
整数的表示
十进制,八进制(0开头),十六进制(0x开头)
整数的范围
整数的使用建议
浮点数的表示
JS浮点数计算标准
IEEE754
IEEE是什么
电气和电子工程师协会( IEEE,全称是Institute of Electrical and Electronics Engineers)是一个国际性的电子技术与信息科学工程师的协会,是目前全球最大的非营利性专业技术学会,其会员人数超过40万人,遍布160多个国家。
IEEE的两个前身AIEE(美国电气工程师协会)成立于1884年,IRE(无线电工程师协会)成立于1912年
IEEE成就
IEEE754
浮点数算数标准,全称二进制浮点数算数标准
浮点数的表示形式
单精度(32位) 双精度(64位,JS使用) 延伸单精度 延伸双精度
0.1+0.2!=0.3的原因
十进制转二进制引起的误差(二进制无法表示0.1和0.2)
类似的举例
小数使用建议
永远不要使用两个经过计算的小数做比较
如何进行小数的比较
保持书写一致
不合理的数学计算
在JS中只要是数字就可以参与运算,无论是否满足数学逻辑
x/0——Infinity 0/0——NaN
NaN
不等于任何数字的数字。
NaN不等于NaN(面试坑)
判断NaN
isNaN(),返回布尔类型
用途是判断参数是否可以转换成数字
数字类型转换
JS中所有的值都可以转换成数字类型,使用Number()或+
数字类型转换场景
目的只有一个,用于计算,将后台传递的数据,从字符串转换为数字并参与计算
取整运算
parseInt(),更简单的取整 |0
什么是字符串
如果一个数据在代码中被引号引上,他就是一个字符串
'123','undefined','ture'
单引号还是双引号?
都可以,推荐使用单引号,因为html默认使用双引号
Unicode编码
字符串中可以使用Unicode编码u开头,
EXP:
\u03a3
\u03c0
常用的转义符
n \ ' "
字符串的属性
长度误区
汉字长度为1,转义符长度为1,Unicode编码长度为1
字符串类型转换
JS中所有的值都可以转换成字符串,使用String()或与一个空字符串相加
原始类型转化总结
来自:https://segmentfault.com/a/1190000018699432
在JavaScript中存在这样两种原始类型:Null与Undefined。这两种类型常常会使JavaScript的开发人员产生疑惑,在什么时候是Null,什么时候又是Undefined?Undefined类型只有一个值,即undefined。当声明的变量还未被初始化时,变量的默认值为undefined。
主要介绍了JS中检测数据类型的几种方式,typeof运算符用于判断对象的类型,但是对于一些创建的对象,它们都会返回\'object\',有时我们需要判断该实例是否为某个对象的实例,那么这个时候需要用到instanceof运算符
对于object和number、string、boolean之间的转换关系,ToPrimitive是指转换为js内部的原始值,如果是非原始值则转为原始值,调用valueOf()和toString()来实现。
Undefined类型表示未定义,它的类型只有一个值为undefined。undefined和null有一定的表意差别。非整数的Number类型无法使用 == 或 === 来比较,因为 JS 是弱类型语言,所以类型转换发生非常频繁
近在做项目代码重构,其中有一个要求是为代码添加智能提示和类型检查。智能提示,英文为 IntelliSense,能为开发者提供代码智能补全、悬浮提示、跳转定义等功能,帮助其正确并且快速完成编码。
基本类型:按值访问,可以操作保存在变量中实际的值;引用类型数据存在堆内存,而引用存在栈区,也就是说引用类型同时保存在栈区和堆区,关于==的执行机制,ECMASript有规范,因为==前后的值交换顺序,返回的值也是一样的,所以在此对规范做出如下总结
JavaScript 是一种弱类型或者说动态类型语言。所以你不用提前声明变量的类型,在程序运行时,类型会被自动确定,你也可以使用同一个变量保存不同类型的数据。
js的值传递和引用(地址)传递:js的5种基本数据类型 number,string,null,undefined,boolean 在赋值传递时是值传递,js的引用数据类型(object,array,function)进行引用传递,其实底层都是对象。
众所周知,JS在很多情况下会进行强制类型转换,其中,最常见两种是:1.使用非严格相等进行比较,对==左边的值进行类型转换2.在if判断时,括号内的值进行类型转换,转化为布尔值
根据规范,对象的属性键只能是 String 类型或者 Symbol 类型。不是 Number,也不是 Boolean,只有 String 或 Symbol 这两种类型。到目前为止,我们只见过 String。现在我们来看看 Symbol 能给我们带来什么好处。
内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!