福州WEB培训
达内福州WEB培训中心

0591-83842080

热门课程

达内:5个JavaScript 练习题

  • 时间:2016-02-18
  • 发布:福州web培训
  • 来源:企业面试题


    福州达内web前端培训专家收集了5个JavaScript练习题,如下所示:

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

var arr = [61, 22, 31, 4, 5];
// 1
var max = 0;
arr.map(function (value, index) {
  max = Math.max(value, max);
});
// 2
Math.max.apply(null, arr)

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

var arr = [61, 22, 31, 4, 5];
var arr2 = arr.map(function (value, index) {
  return function () {
    alert(value);
  };
});

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

var arr = [
  {a:1, c:2, d:3, f:5, e:2},
  {a:1},
  {a:1, b:2, c: 3},
  {a:1, b:2}
];

function objectSort(a, b) {
 var num1 = 0, num2 = 0;
 
 for (var i in a) {
   num1 += 1;
 }
 for (var j in b) {
   num2 += 1;
 }
 
  return num1 < num2 ? -1 : 1;
}

    4、利用for in循环来提取对象属性的个数,并且保存在变量中。接着在对变量进行大小判断。

利用JavaScript打印出Fibonacci(斐波那契)数(不使用全局变量)
var fibonacci = (function () {
    var arr = [0, 1];
    return function () {
        var num = arr[arr.length - 1],
            len = arr.length;
        arr.push(arr[len - 1] + arr[len - 2]);
        return num;
    };
}());

//test
var i;
for (i = 0; i < 10; i++) {
    console.log(fibonacci());
}
//1,1,2,3,5,8,13,21,34,55

    实现如下语法的功能:

var a = (5).plus(3).minus(6); //2
Number.prototype.plus = function (num) {
  return this + num;
};
Number.prototype.minus = function (num) {
  return this - num;
};

    实现如下语法的功能:

var a = add(2)(3)(4); //9
function add(x) {
  return function (y) {
    return function (z) {
      return x + y + z;
    };
  };
}


上一篇:web前端面试题(1)
下一篇:web前端笔试题及答案集锦