一些JS题目的解法

题目是从http://www.cnblogs.com/TomXu/archive/2012/02/10/2342098.html看到的。

答案参考了文章的评论,也有自己的一些改进。

1.找出数字数组中最大的元素(使用Mach.max函数)

Math.max.apply(null,[1,2,3]);

2.转化一个数字数组为function数组(每个function都弹出相应的数字)

[1,2,3].map(function(x){return function(){return x;};});

3.给object数组进行排序(排序条件是每个元素对象的属性个数)

[{a:0,b:1},{a:0}].sort(function(a, b){return Object.keys(a).length - Object.keys(b).length;});

4.利用JavaScript打印出Fibonacci数(不使用全局变量)

(function(x){return x <= 1 ? 1 : arguments.callee(x-1) + arguments.callee(x-2);})(5);

5.实现如下语法的功能:var a = (5).plus(3).minus(6); //2

Number.prototype.plus = function(x){return this + x;};
Number.prototype.minus = function(x){return this - x;};

6.实现如下语法的功能:var a = add(2)(3)(4); //9

function add(x){  add.sum = add.sum ? add.sum += x : x;  return add;}add.toString = add.valueOf = function(){  return this.sum;}

一些JS题目的解法

时间: 2024-10-11 11:31:19

一些JS题目的解法的相关文章

一道原生js题目引发的思考(鼠标停留区块计时)

我瞎逛个啥论坛,发现了一个题目,于是本着练手的心态就开始写起来了,于是各种问题接踵而至,收获不小. 题目是这样的: 刚看上去,没什么特别,心里想了,我就用mouseover和mouseout事件,然后绑个定时器不就行了嘛~.......于是还没开始写呢,就被问到了,那mouseover和mouseenter这两个事件有什么区别的?为什么不用mouseenter呢? 然后我就仔细想了下mouseover和mouseenter之间的区别,下面是书上列出的定义: ->mouseenter:在鼠标光标从

阿里巴巴Web前端面试的一道JS题目,求解答!!!

题目大概是这种: function outer(){ return inner; var inner = "a"; function inner(){}; inner = 9; } alert(typeof outer()); 当时的回答是结果是--function (回来測试结果也是一样) 本来的想法是,inner 在outer 运行的过程中,以下有一个函数声明,而函数声明会提升,也就是 JS 解析器会领先读取函数声明,假设不是声明函数而是定义一个变量,那结果就会是 undefine

谁买单,猴子选大王等类似题目不同解法!!!

题目描述 三五好友,相邀畅谈,围一圆桌,饭后报数,以决买单.从第一个人开始报数(从1到3报数)凡报到3的人就不用买单,退出圈子.问最后留下要买单的是原来第几号的人. 输入 多组测试数据,输入整个n( n < 50 ),表示n个人. 输出 输出买单的人. 样例输入 8 样例输出 7---------------------------------------------------------------------------------------------题目比较简单,就是把一个个的数组找

王爽老师《汇编语言》P173页的实验7题目的解法

这题看似烦乱,其实只要熟悉数据结构,还是很容易搞定的.12月26日晚,我解了一遍,12月27日上午,我又解了一遍,以作巩固.结果这两遍稍微有所不同,但效果一样.贴出来供大家探讨. 12月26日版本: assume cs:code,ds:data,es:table data segment db '1975','1976','1977','1978','1979','1980','1981','1982','1983' db '1984','1985','1986','1987','1988','

汤姆大叔的6道js题目

汤姆大叔的6道javascript编程题题解 看汤姆大叔的博文,其中有篇(猛戳这里)的最后有6道编程题,于是我也试试,大家都可以先试试. 1.找出数字数组中最大的元素(使用Math.max函数) 1 2 3 var a = [1, 2, 3, 6, 5, 4]; var ans = Math.max.apply(null, a); console.log(ans);  // 6 这题很巧妙地用了apply,如果不是数组,是很多数字求最大值,我们知道可以这样: 1 2 var ans = Math

看到了js题目

1 请实现,鼠标点击页面中的任意标签,alert该标签的名称 <script type="text/javascript"> window.onload = function () { //alert(document.all.toString()); var objs = document.all; for (var i = 0; i < objs.length; i++) { //alert(objs[i]); objs[i].onclick = function

几个简单的html+css+js题目

1.页面中有一图片,请喜爱下划线处添加代码能够实现隐藏该图片的功能 1 <img id="pic" src="door.jpg" width="200" height="300" ___________ > [解]为图片添加display属性为hidden即可. 2.编写样式表,要求图片在文字右方,标题字号16px 粗体居中,内容字号10px,图片宽度为300px. [解]图片在文字右方可以通过右浮动和设置marg

JS题目

定义一个对象oo中有两个方法,getO()和setO(str),str是字符串默认情况下调用getO() ,输出结果是"aaa",当setO("bbb")后,再次调用getO(),得到结果“bbb” 1 var o = { 2 data: "aaa", 3 getO: function(){ 4 console.log(this.data); //如果这里不加this,会报错,说data未定义,why 5 }, 6 setO: function(

2019.7.20十道js题目

// 1.声明一个变量,保存学生的年龄(stuAge),值为18 var stuAge = 18; // 2.声明一个变量,保存学生的成绩(stuScore),值为98.5 var stuScore = 60; // 3.声明一个变量,保存学生的姓名(stuName),值为张三丰 var stuName = "张三丰" ; // 4.声明一个变量,保存学生的性别(stuSex),值为女 var stuSex = "女"; // 5.打印以上输入的变量的值 控制台输出