Javascript 语言基础

  • 变量:
    • var关键字:
      • 声明作用域:函数作用域,在函数内部定义一个变量,意味着该变量将在函数退出时被销毁;
      • 声明提升:声明的变量会自动提升到函数作用域顶部,反复声明同一个变量也没有问题。
    • let声明:
      • 声明作用域:块作用域,let不允许同一个块作用域中出现冗余声明
      • 暂时性死区:在let声明之前的执行瞬间,会抛出ReferenceError;
      • 全局声明:与var关键字不同,使用let在全局作用域中声明的变量不会成为window对象的属性。
      • for循环中的let声明:let声明迭代变量时,JS引擎在后台会为每个迭代声明一个新的迭代变量。
    • const声明:
      • const的行为与let基本相同,唯一重要区别是:用它声明变量时必须同时初始化变量,且尝试修改const声明的变量会导致运行时的错误。
      • 若const变量引用的是一个对象,则修改此对象内部属性不违反const的限制。
    • 声明风格:
      • 1、不使用var
      • 2、const优先,let次之
  • 数据类型:
    • 6种简单数据类型:Undefined、Null、Boolean、Number、String、Symbol;
    • 1种复杂数据类型:Object;
      • typeof 操作符:确定任意变量的数据类型;
      • Undefined类型:声明变量但未初始化,相当于给变量赋予了undefined值;
      • Null类型:null值表示一个空对象指针;
      • Boolean类型:有两个字面值,true或false;
      • Number类型:表示整数和浮点数;
        • NaN数值:"不是数值";
        • isNaN()函数:接收任意数据类型的参数,判断其是否“不是数值”;
        • 数值转换:
          • Number()、parseInt()、parseFloat();
      • String类型:
        • 字符串特点:不可变的,一旦创建,值不能变。要修改某个变量中的字符串值,必须先销毁原始的字符串,然后将包含新值的另一个字符串保存到该变量。
        • 转换为字符串:
          • toString()方法可见于数值、布尔值、对象和字符串值,可接收一个底数参数,即以什么底数来输出数值的字符串表示;
          • String()方法可见于null值和undefined值;
      • Symbol(符号)类型:
        • 符号是原始值,且符号实例是唯一的,不可变的。符号的用途是确保对象属性使用唯一标识符,不会发生属性冲突的危险。
      • Object类型:
        • 对象是数据和功能的集合;
  • 操作符:
    • 一元操作符:
      • 递增/递减操作;
      • 一元加和减;
    • 位操作符:
      • 按位与(&)、或(|)、非(~)、异或(^);
      • 左移(<<)、有符号右移(>>)、无符号右移(>>>);
    • 布尔操作符:
      • 逻辑非(!)、逻辑与(&&)、逻辑或(||);
    • 乘性操作符:
      • 乘法操作符(*)、除法操作符(/)、取模操作符(%);
    • 指数操作符:**
    • 加性操作符:
      • 加法操作符(+)
      • 减法操作符(-)
    • 关系操作符:
      • 大于(>)、小于(<)、大于等于(>=)、小于等于(<=);
      • 比较NaN时,无论是小于还是大于等于,比较的结果都会返回false;
    • 相等操作符:
      • 等于(==)、不等于(!=),两者会进行强制类型转换;
        • null 和 undefined相等;
        • null和 undefined 不能转换为其他类型的值再进行比较;
        • 如果有任一操作数是NaN,则相等操作符返回false,不相等操作符返回true;
        • 如果两个操作数都是对象,则比较它们是不是同一个对象。如果两个操作数都指向同一个对象,则相等操作符返回true;
      • 全等(===)、不全等(!==),比较时不转换操作数;
    • 条件操作符:
      • 判断?true的话返回此值:false的话返回此值;
    • 赋值操作符:
      • 等于号(=),将右手边的值赋给左手边的变量;
      • 复合赋值操作符:
        • 乘后赋值(*=);
        • 除后赋值(/=);
        • 取模后赋值(%=);
        • 加后赋值(+=);
        • 减后赋值(-=);
        • 左移后赋值(<<=);
        • 右移后赋值(>>=);
        • 无符号右移后赋值(>>>=);
    • 逗号操作符:
      • ,可用来在一条语句中执行多个操作;
  • 语句:
    • if语句;
    • do while 语句,后测试循环语句,即循环体中的代码执行后才对退出条件进行求值;
    • while语句,先测试循环语句,即先检测退出条件,再执行循环体内的代码;
    • for语句,先测试语句;
    • for-in语句,用于枚举对象中的非符号键属性;
    • for-of语句,用于遍历可迭代对象的元素;
    • 标签语句,用于嵌套循环;
    • break和continue语句:
      • break语句用于立即退出循环,强行执行循环后的下一条语句;
      • continue语句用于立即退出循环,但会再次从循环顶部开始执行;
    • with语句:
      • 将代码作用域设置为该对象能提供便利;
    • switch语句;
  • 函数:
    • 可封装语句,在任何地方、任何时间执行;
    • return语句后跟返回的值,只要碰到return语句,函数就会立即停止执行并退出;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值