变量
变量声明:单一 var;
命明时:
- 变量必须以英文字母、_、$ 开头
- 变量名可以包含字母、_、$、数字
- 不可以用系统的关键字、保留名作为变量名
值类型
- 不可改变的原始值(栈数据)
Number、String、Boolean、undefined、null
Boolean:布尔型true or false
undefined:未定义的
null:占位
极大值或极小值可以用指数表示:
var a = 3e5;
var b = 12e-5;
(栈先进去后出去)
-
引用值(堆数值)
array(数组)、object、function
2021/3/25 20:38:07JavaScript 中对整数有四种进制的表达方式:二进制、八进制、十进制、十六进制。 二进制:有前缀 0b 或 0B 的数值。 八进制:有前缀 0o 或 0O 的数值,或者有前导 0、且只用到 0-7这八个阿拉伯数字的数值。 十进制:没有前导 0 的数值。 十六进制:有前缀 0x 或 0X 的数值。
文章参考与:https://www.jianshu.com/p/6c43223ea68c#comments
https://blog.csdn.net/weixin_39904522/article/details/110904407
运算操作符
“+”
1. 数学运算、字符串链接
2. 任何数据类型加字符串都等于字符串
当1 / 0时会出现infinity(无穷,属于数值类型)
当0 / 0时会出现NaN(No a Number)
如果++或–在前边则先算+1或-1 !import
- 比较运算符:> < == >= <= != 比较结果为boolean值
NaN == NaN结果为false - 逻辑运算符:&& || ! 运算结果为真实值
&&:先看第一表达式转换成不尔值得结果,如果结果为真,那么他会看第二个表达式转换成布尔的值的结果,然后只有两个表达式的话,只看到第二个表达式,就可以返回该表达式的值了(两个表达式,如果第一个为真,则返回第二个表达式,否则返回第一个表达式)
eg:var a=1 && 2+2;
结果为4;
被认定为false的值:undefined null NaN “” 0 false
typeof 类型转换
- number、string、boolean、object、underfined、function
null返回也是object,原始值之一,作为代表空对象的作用出现
underfined转换成number类型是NaN - 显示类型转换:
Number() 转换为数字,各种类型相想方设法转换为数字,true转换为1,要不就NaN,null为0-
parseInt(要转换的,进制数) 转换为int性的数,会从数字位开始看
eg:var num = 1010;
var test = parseInt(num,2);把上面的数以二进制转换为10进制数(为10) -
parseFloat( ) 转换为小数,会从数字位开始看,包括小数点,后边扔掉
-
String()转换为字符串
-
ToString() underfined和null不能用
eg:var demo = 123;
var num = demo.ToString();把demo转换为字符串var demo = 123; var num = demo.ToString(8);把上面的10进制数转换为8进制数
- Boolean()将类型转换为布尔值
- toFixed(数) 科学计数(保留几位小数,会四舍五入)
-
- 隐式类型转换:
- isNaN() 看是不是NaN、其实是先转换为number(),再看是不是
- ++/-- +/-(一元正负) 先调number
eg:
var a="123"; ++a;
上式结果为:124 - +号两侧有一个是字符串的话,就调用string
eg:var a = "a" + 1;
- -*/% 也是调用number
- && || !
- < > <= >=
- == != NaN和啥都不等于 undefined==null
- 绝对等于与不等于:
=== !== 不发生转换
注:typeof(typeof(a))为string(因为typeof(a)为“underfined”)