• 作用域经典面试题


    1
     var a=12;
     function fn(){  
        console.log(a)     //undefined
        var a=45;
        console.log(a)     //45
     }
     fn()

     2
    var a=12;
     function fn(){
      console.log(a)      //12
       a=45;
       console.log(a)      //45
     }
    fn()

     3
     function fn(){
       console.log(11)
       function ff(){
         console.log(22)
       }
       ff()
     }
     fn()     //11
     ff()      //ff is not defined
     函数归属谁,跟它在哪调用无关,而是在哪定义有关

     4
     function fn(){
       console.log(5)
       fn()
     }
     fn()      //自调用5

    5
     var a=12;
     function fn(){
       console.log(a)     //undefined
       return 4;
       var a=45;
     }
     fn()
     函数内部的return,不影响函数内部的预解释

     6
     var a=45;
     function fn(a){
        console.log(a)      //undefined
     }
     fn()
     a是私有变量

     7
     var a=45;
     function fn(a){
        console.log(a)     //5
     }
     fn(5)

     8
    var a=123;
    function fun(){
        console.log(a)     //123
    }
     fun()

     9
     var a=123;
     function fun(){
        console.log(a)     //undefined
       var a=456;
     }
     fun()
     console.log(a)     //123

     10
     var a=123;
     function fun(){
        console.log(a)      //123
        a=456;
     }
     fun()
     console.log(a)      //456
     fun存储模块没有var,所有找上一级,所以,a=456,改变了a的值

     11
     var a=123;
     function fun(a){
        console.log(a)      //undefined
        a=456
     }
     fun()
     console.log(a)      //123
     fun(),里面有形参a

     12
     var a=123;
     function fun(a){
       console.log(a)      //123
       a=456
     }
     fun(123)
     console.log(a)     //123
     形参a,实参123,

     13
     var a=12;
     function fn(){
       console.log(a)     //undefined
       var a=45;
       console.log(a)     //45
     }
     fn()

     14
     var a=12;
     function fn(){
       console.log(a)      //12
       a=45;
       console.log(a)      //45
     }
     fn()

     15
     function fn(){
       console.log(11)
       function ff(){
         console.log(22)
       }
       ff()
     }
     fn()     //11
     ff()     //ff is not defined

     16
     var a=45;
     function fn(a){
       console.log(a)      //undefined
     }
     fn()

     17
     函数和函数变量名重名
     function fn(a){
        console.log(a)      //function a(){}
       var a=123;
       console.log(a)      //123
       function a(){}
       console.log(a)     //123
          var b=function(){}
       console.log(b)      //function(){}
       function d(){}
     }
     fn(1)
     如果我们声明的变量和函数名同名了,在预解释的时候,只声明一次

     18
     function test(a,b){
          console.log(a)     //1
          c=0;
       var c;
       a=3;
       b=2;
       console.log(b)      //2
       function b(){}
       function d(){}
       console.log(b)      //2
     }
     test(1)

     19
     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)

  • 相关阅读:
    系统架构图
    数据分析学习一
    ASP.NET Web APIs 基于令牌TOKEN验证的实现(保存到DB的Token)
    Web API 令牌(秘钥是双方约定的,并不在网络连接上传输)
    【MVC】ASP.NET MVC Forms验证机制
    细说ASP.NET Forms身份认证
    MVC身份验证及权限管理
    [置顶] Web用户的身份验证及WebApi权限验证流程的设计和实现 (不是Token驗證!!!不是Token驗證!!!都是基於用户身份的票据信息驗證!!!)
    WebApi安全性 使用TOKEN+签名验证 (秘钥是GUID的,私有的,不是雙方的,并不在网络连接上传输)
    WebService 简单安全验证
  • 原文地址:https://www.cnblogs.com/xiaotaiyangye/p/10055135.html
Copyright © 2020-2023  润新知