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就要用到闭包

    
    
    
  • 相关阅读:
    自由职业者:如何找到你的第一个客户 【转载】
    MPI教程地址
    多线程程序设计.....
    PE格式的深入理解(一)
    用Hook解决在VC++与C++Builder方面界面设计的一些问题
    ANSI,MBCS,Unicode与使用swprintf的陷阱
    关于单片机程序
    C#操作SharePoint列表
    CAML中比较日期时间类型[转]
    使用C#创建webservice及三种调用方式
  • 原文地址:https://www.cnblogs.com/NaN-6/p/6698516.html
Copyright © 2011-2022 走看看