版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_38842522/article/details/85052283
Number
- 64位bit存储
- 整数(精确表示)和浮点数(不精确表示)
- 可以用科学计数法表示,3.14e10
- special number
- Infinity 无穷,isFinite()函数可以用来判断是否为Infinity
- NaN Not A Number,和任何数都不相等包括本身,用isNaN()判断是否为NaN,若该函数作用于对象时候,会先调用对象的valueOf()方法,确定是否可以转化为数值,若不能,再基于这个返回值调用toString()方法,再测试返回值
- 三个函数可以把非数值转化为数值Number() parseInt() parseFloat()
- Number()可以用于任何数据类型
- 后两个专门用于转化字符串
- 转化规则
- 0b二进制
- 0x 十六进制
string
- “” 或 ''之间的字符,特殊字符需要转义
- 用\进行转义
- 还可以使用``反引号来表示字符串
- 一旦创建,它们的值就不能改变
- 转化为字符串
- 没个值都有toString()方法
- 默认十进制返回数值的字符串表示
- 可以指定进制
- 如果是null则返回"null",undefined返回"undefined"
operator
- unary operator
- typeof - ++ –
- ++ -- 可以作用于整数 字符串 布尔值 浮点数值 和 对象
- ++ -- 应用规则
- 一元加和减
- 会调用Number()函数,规则同转化规则
- 优先级比算术运算符高
boolean values
- 关系运算的结果,ture or false
- > < == >= <= != === !==
- 字符串比较的是ascii顺序
- NaN 是唯一一个和自己不相等的
- 0 NaN “” 为false,其它为true
- Boolean()函数可以将任何值转化为boolean
logical operator
- && || ! (与 或 非)
- 条件运算符,唯一三元运算符。x ?a :b(若x为真,则返回a,否则,返回b)
- undefined(未定义的值) null(空值)
- && 和 || 具有短路效果
- A || B || C || D
从左往右返回第一个位true的值,若无返回最后一个值 - A && B && C && D 从左往右返回第一个为false的值,若无则返回最后一个值
- A || B || C || D
auaomatic type convertion
- null => 0
- undefined => NaN
标识符
- 变量 函数 和属性的名字,或者函数的参数
- 命名规则:
- 第一个字符必须是字母 下划线(_)或者美元符号($)
- 其它字符可以是字母 下划线(_) 美元符号($)和数字
- 关键字和保留关键字不能用作标识符
- 关键字
break do instanceof typeof case
else new var catch finally
return void continue for switch
while debugger implements protected volatile
double import public
- 保留关键字(可能在将来被用作关键字)
abstract enum int short
boolean export interface static
byte extends long super
char final native synchronized
class float package throws
const goto private transient
debugger implements protected volatile
double import public let
yield
- 在严格模式下,eval和arguments也不能作为标识符
变量
- 使用var定义的变量将成为局部变量
- 省略var将会创建全局变量(不推荐,难以维护)
- 变量被声明未初始化,则为undefined
- 未初始化和未声明的变量执行typeof都返回undefined
- 从逻辑上讲,null表示一个空对象指针
- undefined派生自null,null == undefined