语法
标识符
- 给变量、函数、属性或函数的参数起的名字
- 只能是字母、数字、下划线、$,且不能能数字开头
- 字母区分大小写
- 关键字或保留字不允许使用
- 尽量保证变量具有一定的语义,见字知义
数据类型
- String
- Number
- Boolean
- Undefined
- Null
undefined和null的区别
undefined是只声明,不赋值,说明值没传过来null是赋值了,但值为空,说明还不知到放什么,先放个null
注意
- 顺序执行,分号可无
- 大小写敏感
- 空格省略,换行断句
- typeof 关键字检测数据类型
- 乘、除、取余优先级大于加、减
- 加号,数字相加,字符相连
模板字符串
`${}`数据类型检测
typeof
javascript
let num = 2
console.log(typeof num) // number对象原型扩展函
javascript
let data = null
let type = "Null" // 数据类型
console.log(Object.prototype.toString.call(data)) // [object Null]
Object.prototype.toString.call(data) == '[object '+type+']' //true数据类型转换
转布尔
Blooean()
| 转换前 | 转换后 |
|---|---|
| 非空字符串 | true |
| 非零数值 | true |
| 空字符串 | false |
| NaN | false |
| 0 | false |
| undefined | false |
| null | false |
boolean类型转换
| 数据类型 | true | false |
|---|---|---|
| boolean | true | false |
| string | 非空字符串 | 空 |
| number | 非零数值 | 0、NaN |
转数值
javascript
Number() //数值型
parseInt() //整型
parseFloat() //浮点型
isNaN() //判断是否为数值型| 转换前 | Number() | parseInt() | parseFloat() |
|---|---|---|---|
| "123" | 123 | 123 | 123 |
| " " | 0 | NaN | NaN |
| "2abc1" | NaN | 2 | 2 |
| "abc" | NaN | NaN | NaN |
| null | 0 | NaN | NaN |
| undefined | NaN | NaN | NaN |
| false | 0 | NaN | NaN |
| true | 1 | NaN | NaN |
转字符
类型转换
定义:系统内部自动将数据类型进行转换规则:
- 号两边只要有一个是字符串,都会把另外一个转成字符串
- -* / 等都会把数据转成数字类型
定义:避免因隐式转换带来的问题
隐式转换
显示转换
javascript
typeof 关键字检测数据类型
乘、除、取余优先级大于加、减
加号,数字相加,字符相连javascript
String() //全都可以转
toString() //null和undefined不能转模板字符串
作用:拼接字符
反引号包裹内容拼接变量时,用 ${ } 包住变量
| Number(数据) | 转数字 | |
| parseInt(数据) | 只保留整数 | |
| parseFloat(数据) | 保留小数 | |
| String(数据) | 转字符 | |
| 变量.toString(进制) | 转字符 |
表达式
运算符
1.算数运算符
2.字符串运算符
3.赋值运算符
4.比较运算符
5.逻辑运算符
6.三元运算符
7.位运算符
| 运算符 | 运算 |
|---|---|
| & | 按位与 |
| ~ | 取反 |
| ^ | 按位异或 |
| << | 左移 |
| >> | 右移 |
| >>> | 无符号右移 |
8.运算符优先级
先括号,再乘除取余,后加减
