zoukankan      html  css  js  c++  java
  • 变量提升和函数声明提前

    1. instanceof是如何判断的?

      * 表达式: A instanceof B

      * 如果B函数的显式原型对象在A对象的原型链上, 返回true, 否则返回false

    2. Function是通过new自己产生的实例

    /////////////////////////////////面试题///////////////////////////////////////////////////

    function A () {

      }

      A.prototype.n = 1

      var b = new A()

      A.prototype = {

        n: 2,

        m: 3

      }

      var c = new A()

      console.log(b.n, b.m, c.n, c.m)

      /*

       测试题2

       */

      function F (){}

      Object.prototype.a = function(){

        console.log('a()')

      }

      Function.prototype.b = function(){

        console.log('b()')

      }

      var f = new F()

      f.a()

      // f.b()

      F.a()

      F.b()

    3:函数的提升

     1. 变量声明提升

      * 通过var定义(声明)的变量, 在定义语句之前就可以访问到

      * 值: undefined

    2. 函数声明提升

      * 通过function声明的函数, 在之前就可以直接调用

      * 值: 函数定义(对象)

    3. 问题: 变量提升和函数提升是如何产生的?

         面试题 : 输出 undefined

       */

      var a = 3

      function fn () {

        console.log(a)

        var a = 4

      }

      fn()

      console.log(b) //undefined  变量提升

      fn2() //可调用  函数提升

      // fn3() //不能  变量提升

      var b = 3

      function fn2() {

        console.log('fn2()')

      }

      var fn3 = function () {

        console.log('fn3()')

    }

  • 相关阅读:
    Bzoj 1537: [POI2005]Aut- The Bus 题解 [由暴力到正解]
    Bzoj 3126[Usaco2013 Open]Photo 题解
    Bzoj 3165 [Heoi2013]Segment题解
    Bzoj 2733: [HNOI2012]永无乡 数组Splay+启发式合并
    赛前集训前的总结(警醒)
    bzoj3316 JC loves Mkk题解
    9.22考试 crf的军训 题解
    Luogu3521 [POI2011]ROT-Tree Rotations
    CTSC2012 熟悉的文章
    UVA11468 Substring
  • 原文地址:https://www.cnblogs.com/love-life-insist/p/9063097.html
Copyright © 2011-2022 走看看