美文网首页Web前端之路
前端知识点系列三:JavaScript

前端知识点系列三:JavaScript

作者: 娜姐聊前端 | 来源:发表于2017-03-05 23:20 被阅读108次

    持续更新......

    1. JavaScript基本数据类型

    • undefined
    • null
    • boolean
    • number
    • string
    • Symbol (es6)

    2. null,undefined 的区别

    • null 表示一个对象被定义了,值为“空值”;
    • undefined 表示不存在这个值。

    typeof undefined //"undefined"
    undefined :是一个表示"无"的原始值或者说表示"缺少值",就是此处应该有一个值,但是还没有定义。当尝试读取时会返回 undefined;
    例如变量被声明了,但没有赋值时,就等于undefined

    typeof null //"object"
    null : 是一个对象(空对象, 没有任何属性和方法);
    例如作为函数的参数,表示该函数的参数不是对象;

    3. JavaScript的基本规范

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

    4. 数据模型

    • 栈:原始数据类型(Undefined,Null,Boolean,Number、String)
    • 堆:引用数据类型(对象、数组和函数)

    两种类型的区别是:存储位置不同

    • 原始数据类型直接存储在栈(stack)中的简单数据段,占据空间小、大小固定,属于被频繁使用数据,所以放入栈中存储;
    • 引用数据类型存储在堆(heap)中的对象,占据空间大、大小不固定,如果存储在栈中,将会影响程序运行的性能;

    引用数据类型在栈中存储了指针,该指针指向堆中该实体的起始地址。当解释器寻找引用值时,会首先检索其在栈中的地址,取得地址后从堆中获得实体。

    stack.gif

    5. 移动端如何获取页面宽度。

    document.documentElement.clientWidth

    6. 写一个函数节流方法

    throttle(method, context) {
      clearTimeout(method.id);
      method.id = setTimeout(function(){
        method.call(context);
      }, 100)
    }
    

    7. XHR对象的readyState属性有哪些?

    • 0:未初始化。open()没有调用
    • 1:启动。open()被调用,send()还没被调用
    • 2:发送。send()被调用,还未收到响应数据
    • 3:接受。正在接收响应数据
    • 4:完成。已经收到全部响应数据

    相关文章

      网友评论

        本文标题:前端知识点系列三:JavaScript

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