期末考试客观题

期末考试主观题

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

前端开发工程师 - 02.JavaScript程序设计 - 期末考试的更多相关文章

  1. 前端开发工程师 - 02.JavaScript程序设计 - 第2章.进阶篇

    第2章--进阶篇 类型进阶 类型: Undefined Null Boolean String Number Object 原始类型(值类型):undefined, null, true, " ...

  2. 前端开发工程师 - 02.JavaScript程序设计 - 第1章.基础篇

    第1章--基础篇 JS介绍 html 网页的内容:css 网页的样式:javascript 网页的行为 i.e. hello world <!DOCTYPE html> <html& ...

  3. Web前端开发工程师养成计划【转载】

    Web前端开发工程师养成计划(入门篇) 最原始的忠告:这个世界上有想法的人很多,但是有想法又能实现它的人太少! 首先要感谢伟大的Web2.0概念.产品概念.用户体验概念.jQuery插件,是它们在中国 ...

  4. Web前端开发工程师基本要求

    一位好的Web前端开发工程师在知识体系上既要有广度,又要有深度,所以很多大公司即使出高薪也很难招聘到理想的前端开发工程师.现在说的重点不在于讲解技术,而是更侧重于对技巧的讲解.技术非黑即白,只有对和错 ...

  5. 从就业面分析web前端开发工程师就业前景(2011.6)

    案例一 公司名称:法国电信北京研发中心 工作地点:北京 联系方式:hao.luan@orange-ftgroup.com 栾先生 岗位名称:web 前端开发工程师 岗位要求: 1. 计算机或相关专业本 ...

  6. 工具武装的前端开发工程师 Mac 软件清单

    Awesome Mac  这个仓库主要是收集非常好用的Mac应用程序.软件以及工具,主要面向开发者和设计师.有这个想法是因为我最近发了一篇较为火爆的涨粉儿微信公众号文章<工具武装的前端开发工程 ...

  7. Web前端开发工程师面试题

    Web前端开发工程师面试题1.说说css的优先级?2.在移动端中,常常使用tap作为点击事件,好处是?会带来什么问题?3.原生JS的window,onload与Jquery的$(document).r ...

  8. 上海洋码头(www.ymatou.com)急招技术人才(职位:互联网软件开发工程师,.NET网站架构师,Web前端开发工程师,高级测试工程师,产品经理)

    对公司招聘职位有兴趣的童鞋可以把简历发送到zhangzhiqiang@ymatou.com,我们HR会快速给你答复. 互联网软件开发工程师 岗位职责: 1.参与洋码头各个平台(www.ymatou.c ...

  9. web前端开发工程师

    web前端开发工程师 百科名片 Web前端开发工程师是一个很新的职业,在国内乃至国际上真正开始受到重视的时间不超过5年.Web前端开发是从网页制作演变而来的,名称上有很明显的时代特征.在互联网的演化进 ...

随机推荐

  1. 挖矿病毒——test用户的ld-linux-x86-64任务

    表现:24核48线程的机器,极度占用系统CPU资源(约60%) 通过top查看之后可以看到排在首位的是test用户的ld-linux-x86-64任务. solution: 首先,/etc/passw ...

  2. CSU 1726: 你经历过绝望吗?两次!(bfs+优先队列)

    传送门: http://acm.csu.edu.cn/csuoj/problemset/problem?pid=1726 1726: 你经历过绝望吗?两次! Submit Page    Summar ...

  3. Google Fonts导致网页加载速度慢

    最近在做商城项目时候发现在加载一个html页面反应非常慢,查看发现是Google Font导致的网页加载速度缓慢,删除掉该样式会发现很多内容出错. 上网百度发现问题在于: 谷歌香港(google.co ...

  4. 过滤器Filter在配置文件中不起作用

    web.xml内容 <filter> <filter-name>LoginFilter</filter-name> <filter-class>com. ...

  5. HTML中的<meta>标签的使用

    HTML中<meta>标签的使用 在我们制作的网页中,要是想让它能够让更多的人去访问,最好的方法就是通过搜索引擎来找到你的网址,于是需要你的网页可以有关键词能够让搜索引擎来识别,于是HTM ...

  6. JAVA并发-线程状态

    一.线程基本状态 新建:线程已创建但start()方法还没执行 就绪(可运行):start()方法已运行,但还没被选择 运行:从就绪线程中选择出某一个线程进行run()操作 阻塞(不可运行):线程正在 ...

  7. 使用nuget过程中一些问题总结

    更新System.Web.Http组件以及其相关依赖项使用以下命令更新: Update-Package Microsoft.AspNet.WebApi –reinstall 如果没有这个引用,则先添加 ...

  8. 浅谈async函数await用法

    今天状态不太好,睡久了懵一天. 以前只是了解过async函数,并还没有很熟练的运用过,所以先开个坑吧,以后再结合实际来更新下,可能说的有些问题希望大家指出. async和await相信大家应该不陌生, ...

  9. 解决vue变量未渲染前代码显示问题

    在网络加载缓慢或者刷新的时候总会有那么一瞬间出现vue的模板代码,实在很影响美观,对于我这种有强迫症的人来说实在是忍无可忍,后来经过查找资料,终于发现了解决方法,可以使用vue现成的指令来解决这个问题 ...

  10. MySQL语句整理(二)

    数据库操作前的准备 -- 创建数据库 -- create database python_test_1 charset=utf8; -- 使用数据库 -- use python_test_1; -- ...