zoukankan      html  css  js  c++  java
  • 面试实战篇(一)

    怎么就这么不喜欢手写代码,快把我的键盘拿来,一种当年模拟考试的感觉,就是当年坐在旁边的小鲜肉换成了程   序    猿。。。

    1. 

    原题:(function(){

        var a=b=9;    

    })();

    consolo.log(a);

    console.log(b);

    答案:a is no defined           9

    解析:a is no defined 因为a在函数作用域中而且a用var定义,所以a的作用域在函数内,在函数外部是访问不到a的,所以a会报错

    b是全局变量 所以指是9

    2.

    原题:编写函数sum,按照以下方式调用能正常运行:console.log(sum(2,3))//5  console.log(sum(2)(3))

    答案:

    function sum(a,b) {
    return a+b;
    }
    console.log(sum(2, 3));

    function sum(a) {
    return function(b){
    return a+b
    }
    }
    console.log(sum(2)(3));
    解析:第二个用到将函数作为返回值的思想,返回的是函数所以可以继续传值调用
    3.

    把地址按照转化成对应的json格式

    答案:

    var str="https://www.baidu.com/s?ie=utf-8&f=8&name=zhangsan&lise=28"
    var str1=str.slice(str.indexOf("?")+1);
    str2=str1.split("&");
    var obj={};
    for(var i=0;i<str2.length;i++)
    {
    var str3=str2[i].split("=")
    obj[str3[0]]=str3[1]

    }
    console.log(obj);
    解析:利用slice ,indexof,split就写呗 ,写呗。。。
    利用indexOf找到?的索引,利用split从?下一位开始截取,用split根据&截取,返回截取后的数组
    遍历数据,把每一项根据=截取,根据key value添加到obj对象中

    4.

    答案:5

    解析:点谁都是5 ,因为for循环添加事件时瞬时的,再添加i的时候for已经循环完了,i的结果已经变成了5,所以想要按钮分别点击显示1,2,3,4,5就要用到闭包

    
    
    
  • 相关阅读:
    结对编程——四则运算
    需求分析
    结对编程
    调查问卷的心得体会
    软件工程课初步目标
    软件工程课程建议
    结对编程--fault,error,failure
    结对编程--四则运算
    需求分析
    结对编程
  • 原文地址:https://www.cnblogs.com/NaN-6/p/6698516.html
Copyright © 2011-2022 走看看