zoukankan      html  css  js  c++  java
  • 前端开发工程师

    期末考试客观题

    期末考试主观题

    https://www.15yan.com/story/aY0HWAQ7oNU/

     
     
    1(8分)

    函数myType用于根据输入参数返回相应的类型信息。

    语法如下:

    var str = myType (param);

    使用范例如下:

    myType (1); 返回值: "number"

    myType (false); 返回值: "boolean"

    myType ({}); 返回值: "object"

    myType ([]); 返回值:" Array"

    myType (function(){}); 返回值:"function"

    myType (new Date()); 返回值: "Date"

    请写出函数myType的实现代码。

     

    function myType(param) {
        var type = Object.prototype.toString.call(param).slice(8, -1);
     
        if(typeof(param) !== "object" || type === "Object") {
            type = type.toLowerCase();
        }
        return type;
    }

     

     

     

     
    2(10分)

    函数search用于在一个已排序的数字数组中查找指定数字。

    语法如下:

    var index = search(arr, dst);

    使用范例如下: 

    var arr = [1, 2, 4, 6, 7, 9, 19,20, 30, 40, 45, 47];

    search(arr, 45); 返回值: 10

    请写出函数search的实现代码 请给出函数,要求不能使用Array的原型方法,且算法时间复杂度低于O(n)。

    function search(arr, dst) {
        for (var i = 0; i < arr.length; i++) {
            if (dst == arr[i]) {
                return i;
            }
        }
    }

     

    Mark rubric中要求使用二分法--时间复杂度需要< O(n). TAT没有认真看题目。

     

    3(12分)

    函数formatDate用于将日期对象转换成指定格式的字符串,语法如下:

    var str = formatDate(date, pattern);

    其中pattern的全格式为"yyyy-MM-dd HH:mm:ss"

    使用范例如下:

    var date = new Date(2001, 8, 11, 8, 26, 8);

    formatDate(date, "yyyy"); 返回值: "2001"

    formatDate(date, "yyyy-MM-dd");     返回值: "2001-09-11"

    formatDate(date, "yyyy-MM-dd HH"); 返回值: "2001-09-11 08"

    formatDate(date, "yyyy-MM-dd HH:mm:ss");    返回值: "2001-09-11 08:26:08"

    请写出函数formatDate的实现代码。

    function formatDate(date, pattern) {
        // get the date info
        var dateArray = [date.getFullYear(),
            date.getMonth()+1,
            date.getDate(),
            date.getHours(),
            date.getMinutes(),
            date.getSeconds()
        ];
     
        for (var i = 1; i < dateArray.length; i++) {
            // formatted
            if (dateArray[i] < 10) {
                dateArray[i] = "0" + dateArray[i];
            } else {
                dateArray[i] = dateArray[i].toString();
            }
        }
     
        var ret = "";
        switch(pattern){
            case "yyyy":
                ret = dateArray[0];
                break;
            case "yyyy-MM-dd":
                ret = dateArray[0]+'-'+dateArray[1]+'-'+dateArray[2];
                break;
            case "yyyy-MM-dd HH":
                ret = dateArray[0]+'-'+dateArray[1]+'-'+dateArray[2] + " " +dateArray[3];
                break;
            case "yyyy-MM-dd HH:mm:ss":
                ret = dateArray[0]+'-'+dateArray[1]+'-'+dateArray[2] + " " +dateArray[3] +':'+dateArray[4]+':'+dateArray[5];
                break;
        }
        return ret;
         
    }

     

     

    JavaScript练习收集:http://www.jianshu.com/p/c0b69c6c1486

  • 相关阅读:
    [引用]SharePoint:在计算字段中使用Today, Me之类的函数的方法,有点搞笑,但是有效
    在infopath forms service 中自动保存而不用输入文件名
    MOSS的Sharepoint 列表中关于查阅项的处理
    Infopath Form Service示例:如何在InfoPath表单中引用SQL SERVER 中的数据?
    面对DNS劫持,只能坐以待毙吗?
    聚焦云原生,阿里云与 CNCF 共话「云未来,新可能」
    干货分享:细说双 11 直播背后的压测保障技术
    ALB Ingress 发布!轻松应对云原生应用流量管理
    如何用20分钟就能获得同款企业级全链路灰度能力?
    Serverless 架构模式及演进
  • 原文地址:https://www.cnblogs.com/FudgeBear/p/7389625.html
Copyright © 2011-2022 走看看