1.alt shift f格式化代码,全部重新排列
2.输出语句(不是ES标准)
doucument.write
alert
console.log
3.输入语句
prompt("") 类似alert的弹框
4.JS数据类型
原始类型 不可再细分的类型
1.数字类型 number
2.字符串类型 string
单引号 双引号 飘`(模板字符串)支持换行
字符串中符号可以使用转义符\ \n换行 \t制表符(相当于tab)
3.布尔类型 boolean
4.undefined
5.null
引用类型
1.对象Object
{
name:"XXX",
nickname:"aaa"
还可以再嵌套新的对象
}
2.函数
用typeof "a"检测数据类型
##字面量 直接书写的数据,比如对象字面量
5.变量 (内存空间)
1.声明变量 可以先不存数据
var + 变量名 没存为undefined
2.变量的名称叫标识符 只能以英文字母、下划线、$开头
3.语法糖 声明赋值一起写
4.JS会进行语法提升,声明的变量会自动提升到顶部 赋值会拆分,赋值不会提到最顶部
5.JS允许同名变量 会进行语法提升,合并为同一变量
6.对象中的属性(属性会自动转化为字符串)
读取方法:对象变量名.属性名 也可以用对象变量"属性名"
后者属性名可以用另一个变量代替
对象存在属性不存在就会得到undefined
**不能从未定义的对象中读取属性会报错,cannot read property
**不能对未定义的对象属性赋值
删除属性 delete 对象变量名.属性名 设置为undefined也可以
obj[0] 和 obj["0"]指的是同一个属性
7.全局对象
浏览器环境中全局对象为window
定义的所有变量,都很成为window对象的属性
变量如果没有赋值,不会覆盖window对象的同名属性
没有赋值的变量和window的变量重名,会输出window属性的变量的属性
name属性比较特殊,赋值任何属性都会转换为字符串
8.引用类型
原始类型 引用类型:对象和函数
原始类型的变量,存放的是具体的值
引用类型变量存放的是内存地址
obj指向XX对象,obj有XX对象的引用
引用类型复制的是内存地址,指向同一个对象,或者说持有相同引用
9.算数运算符
小数运算不精确
**为幂运算
isNaN()判断是否是非数值型
isFinite()判断是否为无限
Infinity正无穷 还是为数值类型
-Infinity负无穷
NaN仍然为数值型 typeof 1/0加括号不一样:是指typeof1除以0(String/0)
/ %求的解只跟被除数有关 整数/%负数仍未整数
10.其他类型使用算数运算
1.除了+算数运算符:
将原始类型转换为数字类型,然后进行运算
boolean true=1 false=0
string "123"自动转换为数值型 其他为NaN 无限还是数值型 字符内部的表达式无法自动转化
null ->0 -null->-0
underfined 转化为NaN
2.对象类型先转化为字符串类型,然后看能否转化为数值类型
[object Object] -> NaN
{}*5 前面会识别为代码块而不是对象