Javascript学习笔记-Day4


Day4
今天我们一起来聊聊变量、运算符和流程控制。

1.变量的作用域

所谓作用域就是变量在哪里起作用,可以访问到的区域。
变量分为全局变量和局部变量:

  • 全局变量 函数外的变量,在函数内外都可以访问到。
  • 局部变量 函数内的变量,只能在函数内才可以访问到。

从变量作用域就引申出了闭包的概念:子函数可以访问父函数的变量,但是反过来无法访问。

2.命名规范

建议类型前缀+首字母大写(路径/作用)
比如:oDiv,oUl,aLi等

3.运算符

  1. 算数运算符:数字类型 +、-、*、/、%
  2. 赋值:=、+=、-=、*=、/=、%=
  3. 比较:返回true/false <,>,>=,<=,==,===,!=,!==
  4. 逻辑:返回true/false
    与&&、或||、非!
    表达式 && 表达式 与符号两边的内容都为真,则返回true
    表达式 || 表达式 或符号两边的内容有一个是真,返回true
    !表达式 取反

表达式的优先级:算数>比较>逻辑>赋值

4.流程控制

  • if-else

    1
    2
    3
    4
    5
    if(判断条件){
    //code
    }else{
    //code
    }
  • switch

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    switch(判断条件){
    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
4
getStyle=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;//直接跳出,不执行后续代码