码迷,mamicode.com
首页 > Web开发 > 详细

js笔试题(不定期更新)

时间:2017-08-25 12:28:37      阅读:208      评论:0      收藏:0      [点我收藏+]

标签:nbsp   log   第一个   turn   之间   ec2   type   功能   div   

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

技术分享
Math.max.apply(this, arr)
View Code

 

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

技术分享
for(var i=0;i<arr.length;i++){
    var tmp=arr[i];
    arr[i]=function(tmp){
        return function(){
            alert(tmp);
        }
    }(tmp)
}
或者

arr.map(function(e){
    return function(){alert(e)};
});
View Code

 

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

技术分享
objArray.sort(function(a,b){
    return Object.keys(a).length-Object.keys(b).length;
});
View Code

 

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

技术分享
function Fibonacci(n) {
    if(n==0||n==1){
        return n;
    }
    return Fibonacci(n-1)+Fibonacci(n-2);
}

Fibonacci(5);
View Code

 

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

技术分享
Number.prototype.plus=function(n){
    return this+n;
}
Number.prototype.minus=function(n){
    return this-n;
}
View Code

 

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

技术分享
//判断返回的是函数还是值
function add(n){
    var f=function(m){
        return add(n+m);
    };
    f.toString=f.valueOf=function(){
        return n;
    };
    return f;
}
View Code

 

7 变量提升

if (!("a" in window)) {
    var a = 1;
}
alert(a);
技术分享
//[alert: undefined]
View Answer 

8 变量对象

var a = 1,
    b = function a(x) {
        x && a(--x);
    };
alert(a);
技术分享
// [alert: 1]
// 优先级: 函数的形参 > 函数申明 > 变量申明
// 相当于函数表达式   b = function(x) {
//        x && b(--x);
//    };
View Answer

 

function a(x) {
    return x * 2;
}
var a;
alert(a);
技术分享
// alert: function a(x) {
//     return x * 2;
// }
View Answer

 

9  Arguments对象

function b(x, y, a) {
    arguments[2] = 10;
    alert(a);
}
b(1, 2, 3);
function b(x, y, a) {
    arguments[2] = 10;
    alert(a);
}
b(1, 2);
技术分享
// alert: 10 和 alert:undefined

// properties-indexes 的值和实际传递进来的参数之间是共享的。
// 这个共享其实不是真正的共享一个内存地址,而是2个不同的内存地址,使用JavaScript引擎来保证2个值是随时一样的,当然前提是这个索引值要小于传入的参数个数。
View Answer

 

10 This

function a() {
    alert(this);
}
a.call(null);
技术分享
// alert: [object Window]

// 如果第一个参数传入的对象调用者是null或者undefined的话,call方法将把全局对象作为this的值。
View Answer

 

 

 

44道JS难题

 

js笔试题(不定期更新)

标签:nbsp   log   第一个   turn   之间   ec2   type   功能   div   

原文地址:http://www.cnblogs.com/wanghuohuo/p/7424130.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!