首页 > 代码库 > JavaScript基础知识----六道有趣的Js基础题以及解答
JavaScript基础知识----六道有趣的Js基础题以及解答
题目:
1.找出数字数组中最大的元素(使用Math.max函数)
2.转化一个数字数组为function数组(每个function都弹出相应的数字)
3.给object数组进行排序(排序条件是每个元素对象的属性个数)
4.利用JavaScript打印出Fibonacci数(不使用全局变量)
5.实现如下语法的功能:var a = (5).plus(3).minus(6); //2
6.实现如下语法的功能:var a = add(2)(3)(4); //9
解答:
1.
var a = [10,1,2,3,4,8,9];function max(a){ var len = a.length-1; var maxnum=a[len]; while (len--) { maxnum=Math.max(maxnum,a[len]) } return maxnum; } alert(max(a));
另解:
function getArrMax(){ return Math.max.apply(null,a); }
2.
var getNumFun = []; function toFun(a){ var len = a.length; while (len--) { (function(i){ getNumFun[i] = function(){ alert(a[i]); } } )(len); } }/* toFun(a); getNumFun[5](); */
3.
var objarr = [ {a:2,b:1}, {d:5}, {a:1,b:2,c:3} ];function rule(o1,o2){ var sizeObj = function(obj){ var size=0; for(var i in obj) size++; return size; } return sizeObj(o1) - sizeObj(o2); }/* objarr.sort(rule); console.log(objarr[0]); */
4.
function Fib(n){ if(n===1||n===2){return 1;} else return Fib(n-1)+Fib(n-2); }/* console.log(Fib(10)); */
5.
Number.prototype.plus = function(x){ return this+x; } Number.prototype.minus = function(x){ return this-x; }/* console.log((5).plus(3).minus(6)); */
6.
function add(num){ var self = arguments.callee; num += ~~self; self.num = num; return self; } add.valueOf = add.toString = function(){return add.num};/* console.log(add(5)(8)); */
JavaScript基础知识----六道有趣的Js基础题以及解答
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。