Skip to content

Latest commit

 

History

History
181 lines (149 loc) · 5.46 KB

README.md

File metadata and controls

181 lines (149 loc) · 5.46 KB

流程语句

知识点一、循环语句:

  • while

    • 语法 while (条件表达式) { //循环执行代码段 }

    • 流程

      • 1、判断条件表达式的值
      • 2、当值为true时循环执行代码段
      • 3、当值为false时退出循环体
    • 特性

      • 先检查条件,再执行循环体
      • 条件不满足则循环一次也不执行
    • 时机

      • 一个动作被重复执行到满足某个条件时
  • do-while

  • 语法 do { //代码执行主体 } while (条件表达式);

  • 流程

    • 1、先执行循环体内代码再进行判断
    • 2、如果表达式的值为true,则重复执行代码段
    • 3、如果表达式的值为false,则退出循环体
  • 特性

    • 先执行循环体,再进行条件判断
    • 循环体内代码至少执行一次
  • 时机

    • 希望一个动作至少被执行依次时
  • for

    • 特性
      • for(循环变量=初值;循环条件;递增/递减计数器){循环代码段};

        for (var i = 0; i < array.length; i++) {
          array[i]
          //代码执行的主体
        }
        
      • 注意for循环length的优化;

  • 流程

    • 1、用循环变量初始值与循环条件相比较,确定返回值
    • 2、如果返回值为true则执行循环体
    • 3、执行完一次后进行递增/递减运算
    • 4、将运算结果与循环条件相比较
    • 5、如果返回值还是true则继续执行循环体;如果返回值为false则退出循环体;
  • 时机

    • 重复一个动作到一定次数时;
  • for-in

    • 语法
      • for(声明变量in对象){代码段} for (var variable in object) { if (object.hasOwnProperty(variable)) { //代码执行主体 } }

      • 作用:枚举对象属性

注意事项

  • 1、循环输出的属性顺序不可预知
  • 2、对象的值不能是null或者undefined;

↑ 返回目录

知识点二、跳转语句;

  • return:终止函数体的运行,并返回一个值
  • break:终止整个循环,不再进行判断
  • continue:结束本次循环,接着去判断是否执行下次循环;

↑ 返回目录

知识点三、选择语句;

选择语句,有三个,if和switch、?:三目运算符

if

  • 句法 if(条件表达式1){ 代码段1 }else if(条件表达式2){ 代码段2 }else{ 代码段3 }
  • 流程
    • 1、判断条件1,如果返回值为true则执行代码段1
    • 2、如果条件1的返回值为false,则跳过语句块1并检测条件2
    • 3、如果所有表达式的值均为false则执行else后面的语句(else的这个语句为非必须的,可以不写)
  • 特性
    • 结果复杂可嵌套
    • 可检测度哟个条件表达式
    • 表达式的值具有线性特征
    • 表达式的值的动态的
    • 适用于任意类型的数据
    • 可处理复杂的逻辑关系(代码的逼格低,多重判断可用swith case代替)

switch

  • 句法 switch(条件表达式){ case 标签1: 代码段1 break; …… Default: 代码段n; }
  • 流程
    • 1、计算表达式的值,并与各标签相比较
    • 2、若找到与之匹配的标签,则执行其后面的代码段
    • 3、弱没有照东啊与之匹配的标签,则直接执行default之后的代码段(default是非必须的)
  • 格式
    • case标签为常量,可以是字符串或数字
    • 每个标签均为冒号:结束
    • 虽然break与default为可选项,但为了逻辑清晰最好不要省略
    • case标签的值必须和条件表达式的值完全匹配
  • 特性
    • 结构简介,转为多重选择设计
    • 仅可测试一条条件表达式
    • 表达式的值具有离散型
    • 表达式的值是固定的,不会动态变化的
    • 仅能应用整数,枚举,字符串等类型数据
    • 仅能处理多个枚举型逻辑关系

↑ 返回目录

知识点四、异常处理语句;

  • throw:主动抛出异常
  • try:指明需要处理的代码段
  • catch:捕获异常
  • finally:后期处理,无论出不出错都会执行;

↑ 返回目录

面试题:

  • for循环和while循环的转化;
  • return/continue/break的区别
  • 说说写JavaScript的基本规范?书写规范;
    • 变量的首字母不能是数字,其它字母可以是字母、数字、下划线
    • 不能用关键字和保留字作为变量的名字;
    • 使用驼峰命名法来书写变量后续需要用到的变量,可以先赋值为null;
    • 使用匈牙利命名法来书写明确知道变量名字;让别人一眼看出什么变量类型;
    • 借用变量的时候;变量最后不用时候置为null;

经典的总结:

  1. 不要在同一行声明多个变量。
  2. 请使用 ===/!==来比较true/false或者数值
  3. 使用对象字面量替代new Array这种形式
  4. 不要使用全局函数。
  5. switch语句必须带有default分支
  6. 函数不应该有时候有返回值,有时候没有返回值。
  7. for循环必须使用大括号
  8. if语句必须使用大括号
  9. for-in循环中的变量 应该使用var关键字明确限定作用域,从而避免作用域污染。