js的6道基础题(笔试常考题)
转载:http://www.bubuko.com/infodetail-20477.html
题目一:找出数字数组中最大的元素
- var arr=[0,1,2,3,4,5,6,7,8,9];
- console.log(Math.max.apply(null,arr))
题目二:转化一个数字数组为function数组(每个function都弹出相应的数字)
for循环闭包的问题
- var arr=[0,1,2,3,4,5,6,7,8,9],arrFunc = [];
- for(var i = 0, l = arr.length; i < l; i++){
- arrFunc.push((function(i) {
- return function() {
- console.log(arr[i]);
- }
- })(i))
- }
题目三:给object数组进行排序(排序条件是每个元素对象的属性个数)
- Object.prototype.myLength = function(){
- var length = 0;
- for(var i in this){
- length ++;
- }
- return length;
- }
- var objArr = [
- {a:1, b:2, c:5, d:7, e:8, g:0, h:12, i:5, v:9, w:9, x:9, y:9, z: 15},
- {a:2, b:2, c:5, d:7, e:8, g:0, h:12, i:5, j:7, k:5, l:9, m:9, n:0, o:1, p:9, x:9, y:9, z:9 },
- {a:3, b:2, c:5, d:7, e:8, g:0, h:12, i:5, j:7, k:5, l:9, m:9, n:0, o:1, p:9, q:0 },
- {a:4, b:2, c:5, d:7, e:8, g:0, h:12, i:5, j:7, k:5, w:9, x:9, y:9, z:9 },
- {a:5, b:2, c:5, d:7, e:8, g:0, h:12, i:5, j:7, k:5, v:9, w:9, x:9, y:9, z:9 },
- {a:6, b:2, c:5, d:7, e:8, g:0, h:12, i:5, j:7, k:5, l:9, m:9, n:0, o:1, p:9, q:0, r:8, s:9, t:9, z:9 },
- {a:7, b:2, c:5, d:7, e:8, x:9, y:9, z:9 }
- ];
- // arr before sort
- var numArr1 = []
- for(var i = 0, l = objArr.length; i < l; i++ ){
- numArr1.push( objArr[i].myLength() )
- }
- console.log(numArr1.join(" ")) //result
- // arr after sort
- objArr.sort(function(a,b){
- // stable sort
- // return (a.myLength() > b.myLength()) === true? 1:-1;
- // unstable sort
- return (a.myLength() >= b.myLength()) === true? 1:-1;
- // return a.myLength() - b.myLength();
- })
- var numArr2 = []
- for(var i = 0, l = objArr.length; i < l; i++ ){
- // console.log(i,l,objArr[i].myLength());
- numArr2.push( objArr[i].myLength() )
- }
- console.log(numArr2.join(" ")) //result
题目四:利用JavaScript打印出Fibonacci数(不使用全局变量)
- var fibonacci = (function(){
- var s = [];
- var fun = function(x) {
- if(s[x]){
- return s[x];
- }
- if(x < 0) {
- throw "Can‘t be negative";
- return ;
- }
- else if(x === 0 || x === 1) {
- s[x] = s[x] || x;
- return s[x];
- }
- else{
- s[x] = ( fun(x - 1) + fun(x - 2) );
- return s[x];
- }
- };
- fun.print = function() {
- console.log(s.join(" "));
- }
- fun.printLast = function() {
- // console.log(s.length);
- return(s[s.length-1]);
- }
- window.s = s;
- return fun;
- })()
- console.time(200);
- console.log(fibonacci(200));
- console.log(fibonacci.printLast());
- console.log(fibonacci.print());
- console.timeEnd(200);
- var fibonacci2 = function(x){
- if(x < 0) {
- throw "Can‘t be negative";
- return ;
- }
- if(x === 0 || x === 1) {
- return x;
- }
- var num = ( fibonacci2(x - 1) + fibonacci2(x - 2) )
- return num;
- }
- console.time(32);
- console.log(fibonacci2(32));
- console.timeEnd(32);
题目五:实现如下语法的功能:var a = (5).plus(3).minus(6);
- Number.prototype.plus = function(x) {
- var num = this.valueOf() + x;
- return Number(num);
- }
- Number.prototype.minus = function(x) {
- var num = this.valueOf() - x;
- return Number(num);
- }
- var a = (5).plus(3).minus(6);
- console.log(a);
- alert(a);
题目六:实现如下语法的功能:var a = add(2)(3)(4);
- function add(x) {
- var mid;
- mid = x || 0;
- function addObj(x) {
- x = x || 0;
- mid = mid + x;
- return addObj;
- }
- addObj.valueOf = function() {
- return mid;
- }
- addObj.toString = function() {
- return mid;
- }
- return addObj;
- }
- //call the obj.valueOf function
- console.log(add(2));
- console.log(add(2)(3));
- console.log(add(2)(3)(4));
- console.log(add(2)(3)(4)(5));
- //call the obj.toString function
- alert(add(2));
- alert(add(2)(3));
- alert(add(2)(3)(4));
- alert(add(2)(3)(4)(5));
js的6道基础题(笔试常考题)的更多相关文章
- 各位大佬Python的第一部分道基础题已经整理好了,希望大家面试的时候能用的上。
Python的第一部分道基础题,希望大家面试的时候能用的上. 1.为什么学习Python? Python是目前市面上,我个人认为是最简洁.最优雅.最有前途.最全能的编程语言,没有之一. 2.通过什么途 ...
- 『ACM C++』Virtual Judge | 两道基础题 - The Architect Omar && Malek and Summer Semester
这几天一直在宿舍跑PY模型,学校的ACM寒假集训我也没去成,来学校的时候已经18号了,突然加进去也就上一天然后排位赛了,没学什么就去打怕是要被虐成渣,今天开学前一天,看到最后有一场大的排位赛,就上去试 ...
- 朋友去面试Python工程师,又带回来几道基础题,Python面试题No10
第1题: print 调用 Python 中底层的什么方法? print print() 用 sys.stdout.write() 实现 import sys print('hello') sys.s ...
- Java基础知识强化11:多态的两道基础题
1.第1题 class Base { public void method() { System.out.print("Base method"); } } class Child ...
- 关于js的几道经典题(作用域、原型链等)自己做的
1. function test() { var a = 1; setTimeout(function() { alert(a); a = 3; }, 1000); a = 2; setTimeout ...
- 关于SQL的几道小题详解
关于SQL的几道小题详解 当我们拿到题目的时候,并不是急于作答,那样会得不偿失的,而是分析思路,采用什么方法,达到什么目的,还要思考有没有简单的方法或者通用的方法等等,这样才会达到以一当十的效果,这样 ...
- 《JS修炼之道》—— 读后总结
本篇是基于<JS修炼之道>的记录性与总结性的文章,这本书从多种框架的角度,讲述了JS开发中的一些实用技巧. 比如Prototype,JQuery,Mootools,YUI,Dojo,Ext ...
- 小试牛刀2:JavaScript基础题
JavaScript基础题 1.网页中有个字符串“我有一个梦想”,使用JavaScript获取该字符串的长度,同时输出字符串最后两个字. 答案: <!DOCTYPE html PUBLIC &q ...
- [2]十道算法题【Java实现】
前言 清明不小心就拖了两天没更了-- 这是十道算法题的第二篇了-上一篇回顾:十道简单算法题 最近在回顾以前使用C写过的数据结构和算法的东西,发现自己的算法和数据结构是真的薄弱,现在用Java改写一下, ...
随机推荐
- Bringing up interface eth0: Device eth0 does not seem to be presen
在公司的电脑虚拟机上安装了centos 6.5 ,然后我把他克隆下来用在家里电脑的虚拟机上,打开后查看ip,发现只有回环地址lo,没有eth0, 于是重启网络 输入 service network r ...
- Linux的crontab 命令
crontab 命令 简介 从输入设备读取指令,并将其存放于 crontab 文件中,以供之后读取和执行,即:crontab 是 Linux 系统中添加计划任务,定时执行一些必要的脚本所必不可少的工具 ...
- switch 语句 总结笔记
1.switch 语句 语法: switch(expression) { case value1 : statement1; break; case value2 : statement2; brea ...
- (办公)记事本_grep文本搜索命令
参考谷粒学院的linux视频教程:http://www.gulixueyuan.com/course/300/task/7091/show grep文本搜索命令:[是一种强大的文本搜索工具,它能使用正 ...
- 【剑指Offer】58:二叉树的下一个结点
题目描述 给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回.注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针. 题解一:递归 //既然给了二叉树的某个结点,且二叉树存 ...
- [NOI2003]文本编辑器 [Fhq Treap]
[NOI2003]文本编辑器 没啥好说的 就是个板子 #include <bits/stdc++.h> // #define int long long #define rep(a , b ...
- js微信禁用右上角的分享按钮,和vue中微信页面禁用右上角的分享按钮的问题
1.隐藏微信网页右上角的按钮 document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() { // 通过下面这个 ...
- densenet思路 以及和残差网络区别,pytorch实现
densenet思路 以及和残差网络区别,pytorch实现 待办 densenet思路以及和残差网络区别.以及densenet的pytorch实现 https://zhuanlan.zhihu.co ...
- 【H5适配 笔记1】rem适配
设备像素比(dpr)= 物理像素(手机渲染像素.分辨率)/设备独立像素(手机所显示元素的大小) 视口(viewport) 布局视口(获取浏览器布局视口高度,包括内边距,但不包括垂直滚动条.边框和外边距 ...
- mysql错误:Column count doesn't match value count at row 1解决办法
这个错误的意思是存储的数据与数据库表的字段类型定义不匹配,解决办法如下: 1.查看插入数据的类型与表中字段的类型是否匹配2.插入数据的顺序与字段顺序是否匹配3.检查SQL是否拼写错误4.在insert ...