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.注意隐式全局变量
预解析案列1 预解析案列2
网友评论