1.变量的作用域
所谓作用域就是变量在哪里起作用,可以访问到的区域。
变量分为全局变量和局部变量:
- 全局变量 函数外的变量,在函数内外都可以访问到。
- 局部变量 函数内的变量,只能在函数内才可以访问到。
从变量作用域就引申出了闭包的概念:子函数可以访问父函数的变量,但是反过来无法访问。
2.命名规范
建议类型前缀+首字母大写(路径/作用)
比如:oDiv,oUl,aLi等
3.运算符
- 算数运算符:数字类型 +、-、*、/、%
- 赋值:=、+=、-=、*=、/=、%=
- 比较:返回true/false <,>,>=,<=,==,===,!=,!==
- 逻辑:返回true/false
与&&、或||、非!
表达式 && 表达式 与符号两边的内容都为真,则返回true
表达式 || 表达式 或符号两边的内容有一个是真,返回true
!表达式 取反
表达式的优先级:算数>比较>逻辑>赋值
4.流程控制
if-else
1
2
3
4
5if(判断条件){
//code
}else{
//code
}switch
1
2
3
4
5
6
7
8
9
10
11switch(判断条件){
case 情况1:
代码1
break;//不能省略
case 情况2:
代码2
break;
....
default://默认情况,可以省略
代码n
}
-三目运算1
条件? 代码1:代码2
一般用在以下2种情况:
1.条件赋值var b = 条件?条件1:条件2
2.两种情况的判断
break 跳出循环
出现在switch里 == 跳出switch判断
出现在循环里 == 跳出循环
continue 跳过此次循环,继续下次循环
出现在for == 跳过此次循环
5.什么是真值?什么是假值?
JS中的真值包括-true 非空字符 非零数字 非空对象
假值-false 空字符 0 空对象null undefined NaN
6.如何获取非行间样式?
IE低版本下:obj.currentStyle.css属性名
Chrome/Firefox/IE高版本:getComputedStyle(obj,false).css属性名1
2
3
4getStyle=function(obj,attr){
return obj.currentStyle?obj.currentStyle[atrr]:getComputedStyle(obj,false)[attr];
}
//currentStyle/getComputed不可以获取复合样式
7.随机数的获取
说到随机数不得不提静态方法Math.random();
随机返回一个[0,1)区间的数字。
[n,m)固定范围的随机数获取公式:
n+Math.random()*(m-n)
8.eval()
eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码。
eval(string)
简单点来说就是把字符当做代码来执行。
9.关于函数的返回值
函数执行完毕,默认返回undefined
如果需要函数返回具体的值,使用return 变量/value;
一旦return之后:后续的代码不再执行,直接跳出了函数。1
if(条件) return;//直接跳出,不执行后续代码