六道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... 当初笔者做这套题的时候不仅怀疑智商, 连人生都开始怀疑了.... 不过, 对于基础知识的理解是深入编程的前提. 让我们一起来看看这些变 ... 
随机推荐
- python模块_pcharm导入包的问题
			1.添加pip包 2.导入项目需要由内置包(library root) 
- ajax readystatue
			onReadyStatueChange存儲狀態處理函數,當readyStatue改變時,調用該函數. readyStatue的狀態: 0 請求未初始化 1 服務器連接已建立 2 請求已接收 ... 
- linux python3 selenuim firefox
			1.官网下载火狐浏览器最新版本复制到/usr/local/softwar 下 cd /usr/local/softwar 下 tar jxvf Firefox-latest-x86_64.tar.bz ... 
- luogu1856
			P1856 [USACO5.5]矩形周长Picture 题目背景 墙上贴着许多形状相同的海报.照片.它们的边都是水平和垂直的.每个矩形图片可能部分或全部的覆盖了其他图片.所有矩形合并后的边长称为周长. ... 
- 利用可变参数打印log
			// ConsoleApplication1.cpp: 定义控制台应用程序的入口点. // #pragma once #include <string> #include <Wind ... 
- BZOJ4541 HNOI2016矿区(平面图转对偶图)
			考虑先将平面图转化为对偶图.具体地,将无向边拆成两条有向边.每次考虑找到包围一个区域的所有边.对当前考虑的边,找到该边的反向边在该边终点的出边集中,按极角序排序的后继,这条后继边也是包围该区域的边.这 ... 
- BZOJ2821 作诗(分块)
			和区间众数几乎一模一样的套路. // luogu-judger-enable-o2 #include<iostream> #include<cstdio> #include&l ... 
- postgresql c library use
			#include <stdio.h> #include <libpq-fe.h> int main() { int lib_ver = PQlibVersion(); prin ... 
- CRM 2013 批量更新two options的缺省值
			1: string entNames = "new_print_plan,new_radio_plan,new_bill_board,new_tv_plan,new_btl_posm,new ... 
- 洛谷 P1879 [USACO06NOV]玉米田 解题报告
			P1879 [USACO06NOV]玉米田Corn Fields 题目描述 农场主\(John\)新买了一块长方形的新牧场,这块牧场被划分成\(M\)行\(N\)列\((1 ≤ M ≤ 12; 1 ≤ ... 
