zoukankan      html  css  js  c++  java
  • 函数调用面试题

    
    
     1 //填一个表达式,使控制台可以打印出   100   150 
     2 function obj(){
     3         (_______???_____)
     4 }
     5 
     6 var a = new Object;
     7 var b = new Object;
     8 
     9 a.value = '100';
    10 b.value = '150';
    11 
    12 a.obj = obj;
    13 b.obj = obj;
    14 
    15 console.log(a.obj()); //100
    16 console.log(b.obj()); //150

    代码解释

     1     function obj(){
     2         return this.value;
     3     }
     4 
     5 //创建两个window对象
     6     var a = new Object;
     7     var b = new Object;
     8 //给两个对象分别添加了value属性
     9     a.value = '100';
    10     b.value = '150';
    11 //给两个对象分别添加了obj这个方法,并且赋值了obj这个函数,obj函数的返回值是this.value
    12 //那么a.obj = this.value指向自己的value属性
    13 //现在的a,b分别有两个成员,obj()这个函数和value
    14     a.obj = obj;
    15     b.obj = obj;
    16 //方法调用函数模式的rhis指向调用函数的对象
    17 //a.obj() == this.value
    18     console.log(a.obj());
    19     console.log(b.obj());
    20     console.log(a.value);//  a.obj() == a.value
     

    2.语句var arr = [a,b,c,d];执行后,数组中每一项都是整数,下面能得到最大值的表达式是

      A:Math.max(arr);

      B:Math.max(arr[0],arr[1],arr[2],arr[3]);

      C:Math.max.call(Math,arr[0],arr[1],arr[2],arr[3]);

      D:Math.max.apply(Math,arr);

      答案:BCD

    3.如何避免JS多人开发函数重名问题?

      A.根据不同开发人员实现的功能,在函数前加前缀

      B.每个开发人员都把自己的函数封装到对象中,然后调用发时候即时函数名相同,但是因为是对象.函数名来调用,所以减少了重名的可能性

          ...

          ...

          ...

         持续更新...

  • 相关阅读:
    UVa 1354 天平难题 (枚举二叉树)
    广西邀请赛总结
    UVa 12118 检查员的难题 (dfs判连通, 构造欧拉通路)
    UVA
    Uva 127 "Accordian" Patience (模拟)
    UVA 10539 Almost Prime Numbers( 素数因子)
    HDU 1272 小希的迷宫(并查集)
    HDU 1213 How Many Tables (并查集)
    POJ 2236 Wireless Network(并查集)
    HDU 1233 还是畅通工程 ( Kruskal或Prim)
  • 原文地址:https://www.cnblogs.com/mr-yuan/p/6006283.html
Copyright © 2011-2022 走看看