13-JS高级(一)--JS基础复习

JavaScript基础知识复习

  1. JavaScript包含:

    1. ECMAScript:规定js的语法规范;
    2. DOM:Document Object Model,提供了一套操作dom元素的API(application programming interface);
    3. BOM:浏览器对象模型,操作浏览器对象的api。
  2. JavaScript的基本数据类型有:number、string、boolean、undefined。

  3. JavaScript的复杂数据类型(引用类型)有:Array、Date、Object、Regexp、Function、String、Number、Boolean;两个核心类型:Object、Function;还有两个空类型:undefined、null(object类型)。

    • 变量不可能为null值,除非手动去设置,解除对象的占用(引用)。
  4. 获取一个数据的数据类型:typeof xxx;,使用该运算符返回的结果是string类型。

  5. JavaScript中 === 和 == 有什么区别:

    • ==:判断值是否相等;
    • ===:判断值和类型是否都相等。
  6. JavaScript中in运算符有什么作用:

    1. 最常用在for in循环中,遍历对象的键(对象中键为字符串类型);
    2. 判断属性是否存在于对象中,语法属性名 in 对象;(属性名应该是字符串);
    3. 注意:in关键字操作数组时,获取到的是索引值(下标),不是值;判断数组中是否存在指定值:用for循环、arr.indexOf(xxx)。
  7. JavaScript中关系运算符有:>=、<=、>、<、=。

  8. 创建对象使用什么运算符:new。

  9. 什么是引用类型:存储的是数据在内存中的地址,数据在内存中单独存储,这就是引用类型数据;

    • 什么是值类型:存储的就是数据本身的变量就是值类型。

      • 所有引用类型的类型都是object类型,除了function打印出来的是function类型。
      • 变量一般存储在内存中;
      • 引用类型赋值:是将变量中存储的地址复制一份单独存储,但是两个变量共享同一个地址;通过一个变量修改对象中的内容,另外一个引用访问的时候,也会访问到修改后的对象。
    • 做函数参数:

      • 值类型做函数的参数:函数内部的变量,也就是形参,和实参只是简单的赋值操作,两个数据独立存储于内存中;在函数内部对形参进行修改,不会影响外面的变量。
      • 引用类型做函数的参数:是把实参存储的地址赋值给了形参,在函数内部,形参同样也指向该对象,所以在函数内部对该对象进行修改,会影响到外面的变量。
    • 注:如果引用类型做函数的参数时,如果在函数内部重新创建对象,为该形参赋值,那么两个对象将不再有关系,修改其中一个,另外一个不会受到影响。

    • 对象的动态特性:指在对象创建出来之后,可以再为对象添加新的属性或者方法。

    • 使用点语法给对象属性赋值,如果对象存在该属性,是修改操作;如果对象不存在该属性,那么就是给该对象增加新的属性并且赋值;同样效果的还有使用中括号。

  10. 什么叫逻辑中断:

    1. 表达式1 || 表达式2:
      1. 如果表达式1为真,返回表达式1的值;
      2. 如果表达式1为假,返回表达式2的值。
    2. 表达式1 && 表达式2:
      1. 如果表达式1为真,返回表达式2的值;
      2. 如果表达式1为假,返回表达式1的值。
  11. delete运算符的作用是什么:

    1. 可以用来删除对象的属性,还可以删除未使用var声明的变量(window的属性或者说是全局变量):delete obj[name];
    2. delete关键字有返回值,用来表示删除属性是否成功;
    3. 如果删除一个对象不存在的属性,返回值也为true;
    4. 如果删除的属性存在于原型当中,那么返回值为true,但是该属性并未被删除。
  12. 循环有几种:for、for in、while、do while。

  13. 分支语句有几种:if else、switch case。

  14. 跳转语句中break和continue的区别:

    • continue跳过本次循环;
    • break跳出最近一层的循环。

调试工具

调试窗口介绍

  1. 指针:选择页面中的元素;
  2. 手机:使用移动端界面调试;
  3. element:查看页面DOM树;
  4. console:控制台(注:控制台与该页面是一个整体,在控制台中的任何操作,都会影响到页面);
  5. Source:代码调试。

定义函数

  1. 定义函数的基本语法:三种
    1. 函数声明:
function 函数名(){//函数体}
  1. 函数表达式:在使用函数表达式声明函数的时候,function后面可以跟函数名,但是这个函数名只能在函数内部使用,外部无法访问。
var test = function 函数名(){//函数体}
test();
  1. Function
var test = new Function();

元素节点操作:

  • 创建文本节点:createElement、createTextNode;
  • appendChild、insertBefore、。

  • removeChild。

  • replaceChild;

  • getElementById;
  • getElementsByTagName;
  • getElementsByClassName,有兼容性问题。

属性节点操作

  • getAttribute、setAttribute、removeAttribute。

常用DOM属性

  • className、innerHTML、innerText/textContent、value、children

异常处理

  • 异常最大的特征:就是一旦出现异常,后面的代码就不会再被执行,为了保证后面的代码在出现异常之后能继续执行,就要进行异常处理;
  • 语法:
try{
    //可能会出现异常的代码
    //可以进行手动抛出异常,使用throw
    throw "你的代码有一点小问题哟";
}
catch(e){
    //捕获异常,e为捕获到的异常信息
    //出现异常时的处理代码
}
finally{
    //无论是否出现异常,都会执行
    //node.js使用的较多,一般在这里做释放资源的一些操作
}
  • 注:语法异常不能捕获,因为js代码执行分为两个阶段:解析阶段(检测语法)和执行阶段。

你可能感兴趣的:(13-JS高级(一)--JS基础复习)