1 变量
变量在内存中的存储:变量名指向的是内存中的一个地址
变量命名采用驼峰法,userName
变量退出作用域之后会销毁,全局变量关闭网页或浏览器才会销毁
2 数据类型
JS数据类型: Number,Boolean,String,Undefined,Null,Symbol(es6新定义的)和 Object (注: Array是特殊的Object)
xxx.valueOf() 返回一个Boolean对象的原始值(true,fasle)
undefined和null的区别:undefined是声明了一个变量未定义,可以看作一个空的变量。null只是空的对象,typeof返回object。 alert(null==undefined); // true
强制类型转换:Number,parseInt,parseFloat,== ,!=
隐式转换:+-*/,
3 操作符
&& 与 两个操作数同时为true,结果为true,否则都是false
|| 或 两个操作数有一个为true,结果为true,否则为false
! 非 取反
三元运算符:表达式1?表达式2:表达式3; 表达式1 true 执行表达式2. fasle执行表达式3
4 函数
形参:声明函数时有一个给予一个可变的参数,起到一个占位置的作用
实参:函数声明时设置了形参,就需要传入对应的参数,传入的参数就是实参;
return:函数调用的结果是一个返回值,默认为undefined。函数执行完return立即退出。
arguments:所有的函数都有一个arguments对象,arguments中存储了传递的所有实参,是一个伪数组,长度不 固定。
匿名函数:将匿名函数赋值给一个变量,这样就可以通过变量进行调用。var f1=function(){}; f1();
匿名函数的调用()();
预解析:
1.把变量的声明提升到当前作用域的最前面,只会提升声明,不会提升赋值。
2.把函数的声明提升到当前作用域的最前面,只会提升声明,不会提升调用。
3.先提升var,在提升function
4.函数中的变量只会提升到函数作用域的最上面
5.注意隐式全局变量
![](https://img.haomeiwen.com/i8468194/896b924fc62a2e6e.png)
![](https://img.haomeiwen.com/i8468194/0c02fa8e23a77070.png)
5.对象
![](https://img.haomeiwen.com/i8468194/57e25ce8560cf7fa.png)
![](https://img.haomeiwen.com/i8468194/ec5ed41af1448632.png)
![](https://img.haomeiwen.com/i8468194/e67cd251a0387e44.png)
![](https://img.haomeiwen.com/i8468194/d8132ebf45955265.png)
![](https://img.haomeiwen.com/i8468194/9a232e30c1f2c692.png)
6.内置对象
![](https://img.haomeiwen.com/i8468194/cd5c93ab225d49e9.png)
![](https://img.haomeiwen.com/i8468194/d2018c11271120c7.png)
![](https://img.haomeiwen.com/i8468194/3f83911f78319fcf.png)
![](https://img.haomeiwen.com/i8468194/64f86c2f5067a66c.png)
网友评论