美文网首页
13-JS高级(一)--JS基础复习

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

作者: magic_pill | 来源:发表于2017-09-08 17:06 被阅读59次

    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基础复习

          本文链接:https://www.haomeiwen.com/subject/yhhnjxtx.html