zoukankan      html  css  js  c++  java
  • 作用域面试题

    1、

      var   a=123;

      function  fun(){

        alert(a)  //123

       }

      fun()

    2、

      var   a=123;

      function   fun(){

        alert(a);  //undefined

        var a=456;

       }

      fun()

      alert(a)  //123

    3、

      var   a=123;

      function   fun(){

        alert(a);  //123

        a=456;

       }

      fun()

      alert(a)    //456

    4、

      var   a=123;

      function   fun(a){

        alert(a);  //undefined

        a=456;

       }

      fun();

      alert(a)  //123

    5、

      var   a=123;

      function    fun(a){

        alert(a);  //123

        a=456;

       }

      fun(123)

      alert(a)  //123

    6、

      var   a=12;

      function   fn(){

        console . log(a)  //undefined

        var   a=45;

         console . log(a)  //45

       }

      fn()

    7、

      var   a=12;

      function   fn(){

        console . log(a)  //12

        a=45;

        console . log(a)  //45

        }

      fn()

    8、

      function   fn(){

        console . log(11) 

        function    ff(){

          console . log(22)

          }

        ff()  //22

      }

      fn()  //11

    9、

      var   a=12;

      function   fn(){

        console . log(a)  //undefined

        return  4;

        var  a=45;

       }

      fn()

    10、

      var   a=45;

      function    fn(a){

        console . log(a)  //undefined

       }

      fn()

    11、

      console . log(total);  //undefined

      var   total=0;

      function  fn(num1,num2){

        console . log(total);  //undefined

        var  total=num1+num2;

        console . log(total)   //300

       }

      fn(100,200)

      console . log(total)    //0

    12、

      console . log(to)    //undefined

      var   to=1;

      function   fn(n1,n2){

        console . log(to)   //1

        to=n1+n2;

        console . log(to)    //30

       }

      fn(10,20)

      console . log(to)    //30

    13、

      function  fn(a){

        console . log(a)  //function

        var   a=123;

        console . log(a)  //123

        function  a(){ }

        console . log(a)  //123

        var  b=function(){ }

        console . log(b)  //function

        function b(){ }

       }

      fn(1)

      注:如果我们声明得变量和函数同名了,在预解释得时候只声明一次

    14、

      function test(a,b){

        console . log(b)  //function

        console . log(a)  //1

        c=0;

        a=3;

        b=2;

        console . log(b);    //2

        function   b(){ }

        function   d(){ }

        console . log(b)    //2

       }

      test(1)

    15、

      function   test(a,b){

        console . log(a)  //function  a

        console . log(b)  //undefined

        var   b=234;

        console . log(b)  //234

        a=123;

        console . log(a)  //123

        function   a(){ }

        var   a;

        b=234;

        var   b=function (){ }

        console . log(a);  //123

        console . log(b)    //function

       }

      test(1)

      注:函数得声明和定义同时发生

  • 相关阅读:
    webpack常用插件及作用
    函数柯里化
    防抖和节流
    实现深拷贝
    实现new操作符
    关于js中断ajax请求
    从输入 URL 到页面加载完成,发生了什么?
    vue路由传参params和query的区别
    input输入框限制(座机,手机号码)
    判断当前页面是不是用户正在浏览的页面
  • 原文地址:https://www.cnblogs.com/Shinigami/p/10054790.html
Copyright © 2011-2022 走看看