六道JavaScript测验题
1、找出数字数组中最大的元素(使用Match.max函数)
var a=[123,23432,345,3,34];
console.log(Math.max.apply(null,a));
2、转化一个数字数组为function数组(每个function都弹出相应的数字)
var a=[123,23432,345,3,34];
a=a.map(function(value){
return function(){
alert(value);
};
});
console.log(a[3]());
3、给object数组进行排序(排序条件是每个元素对象的属性个数)
var arr=[
{a:1,b:2,c:3},
{a:1,b:2,c:3,d:4,e:5},
{a:1,b:2},
{a:1,b:2,c:3,d:4}
];
Object.prototype.propLength=(
Object.prototype.hasOwnProperty('_count_')?
function (){
return this._count_; //FF
}
:
function(){
var p,count=0;
for(p in this){
if(this.hasOwnProperty(p)){
count++;
}
}
return count;
}
);
function compare(obj1,obj2){
return obj1.propLength()-obj2.propLength();
}
console.log(arr.sort(compare));
4、利用JavaScript打印出Fibonacci数(不使用全局变量)
function fibo(n){
var self=arguments.callee;
return n < 2 ? n : self(n-1)+self(n-2);
}
console.log(fibo(6));
5、实现如下语法的功能:var a = (5).plus(3).minus(6); //2
Number.prototype.plus=function (a){
return this.valueOf()+a;
};
Number.prototype.minus=function (a){
return this.valueOf()-a;
};
var a = (5).plus(3).minus(6);
console.log(a);
6、实现如下语法的功能:var a = add(2)(3)(4); //9
function add(x){
var sum=x;
var fn=function(y){
sum+=y;
return fn;
};
fn.valueOf=fn.toString=function(){return sum;};
return fn;
}
add(2)(4);
console.log(add(2));
console.log(add(3)(8)(9));
console.log(add(3)(8)(9)(10));
欢迎批评指正。
六道JavaScript测验题的更多相关文章
- 【翻译】Zakas解答Baranovskiy的JavaScript测验题
原文:http://www.nczonline.net/blog/2010/01/26/answering-baranovskiys-javascript-quiz/ ---------------- ...
- 小试牛刀3之JavaScript基础题
JavaScript基础题 1.让用户输入两个数字,然后输出相加的结果. *prompt() 方法用于显示可提示用户进行输入的对话框. 语法: prompt(text,defaultText) 说明: ...
- 小试牛刀2:JavaScript基础题
JavaScript基础题 1.网页中有个字符串“我有一个梦想”,使用JavaScript获取该字符串的长度,同时输出字符串最后两个字. 答案: <!DOCTYPE html PUBLIC &q ...
- JavaScript算法题之–随机数的生成
JavaScript算法题之–随机数的生成 需求描述:从一组有序的数据中生成一组随机并且不重复的数,类似于简单的抽奖程序的实现. 先来生成一个有序的数组: 1 var arr = [], 2 ...
- 44个 Javascript 变态题解析 (下)
承接上篇 44个 Javascript 变态题解析 (上) 第23题 [1 < 2 < 3, 3 < 2 < 1] 这个题也还可以. 这个题会让人误以为是 2 > 1 & ...
- 汤姆大叔的6道javascript编程题题解
看汤姆大叔的博文,其中有篇(猛戳这里)的最后有6道编程题,于是我也试试,大家都可以先试试. 1.找出数字数组中最大的元素(使用Math.max函数) var a = [1, 2, 3, 6, 5, 4 ...
- 44个 Javascript 变态题解析 (上\下)
第1题 ["1", "2", "3"].map(parseInt) 知识点: Array/map Number/parseInt JavaS ...
- 44 个 JavaScript 变态题解析
当初笔者做这套题的时候不仅怀疑智商, 连人生都开始怀疑了…. 不过, 对于基础知识的理解是深入编程的前提. 让我们一起来看看这些变态题到底变态不变态吧! 第1题 ["1", &qu ...
- Javascript 变态题解析
读者可以先去做一下感受感受. 当初笔者的成绩是 21/44... 当初笔者做这套题的时候不仅怀疑智商, 连人生都开始怀疑了.... 不过, 对于基础知识的理解是深入编程的前提. 让我们一起来看看这些变 ...
随机推荐
- P2209 [USACO13OPEN]燃油经济性Fuel Economy
题面 sol:(思想):开一个大根堆和一个小根堆,每次计算到下了一个加油站用掉的油时尽量用小根堆中的元素,且同时删去大根堆中的相应位置的元素,当前加油站如果足够便宜,就可以把大根堆中的元素替换掉: ( ...
- hashCode和equal
转自:https://www.cnblogs.com/dolphin0520/p/3681042.html hashCode方法在Object类中: public native int hashCod ...
- BZOJ2120&2453数颜色——线段树套平衡树(treap)+set/带修改莫队
题目描述 墨墨购买了一套N支彩色画笔(其中有些颜色可能相同),摆成一排,你需要回答墨墨的提问.墨墨会像你发布如下指令: 1. Q L R代表询问你从第L支画笔到第R支画笔中共有几种不同颜色的画笔. 2 ...
- BZOJ2351[BeiJing2011]Matrix——二维hash
题目描述 给定一个M行N列的01矩阵,以及Q个A行B列的01矩阵,你需要求出这Q个矩阵哪些在原矩阵中出现过.所谓01矩阵,就是矩阵中所有元素不是0就是1. 输入 输入文件的第一行为M.N.A.B,参见 ...
- hg和git命令对照表
hg和git命令对照表 来源 https://github.com/sympy/sympy/wiki/Git-hg-rosetta-stone Git hg rosetta stone muxat ...
- BZOJ 2901: 矩阵求和
2901: 矩阵求和 Time Limit: 20 Sec Memory Limit: 256 MBSubmit: 411 Solved: 216[Submit][Status][Discuss] ...
- 安装Prometheus-Opeartor
一.下载git clone clone https://github.com/coreos/prometheus-operator.git或:wget https://github.com/coreo ...
- 分别用postman和python做post请求接口功能测试
前几天,在做一个post请求的接口功能测试的时候,发现数据始终无法入库, 认真加仔细检查了请求的url.方式.参数,均没有问题 找到技术确认,原来是需要传json格式数据 在头信息中加上类型,body ...
- Git Pull Github and Gitee or Gitlab
GitHub实战系列汇总:http://www.cnblogs.com/dunitian/p/5038719.html 缩略Code:https://www.cnblogs.com/dotnetcra ...
- module 'scipy.misc' has no attribute 'toimage',python
anaconda环境下: 错误:python 命令行运行出错:module 'scipy.misc' has no attribute 'toimage' 解决:打开Anaconda prompt,输 ...