5;sum(2)(3)=>"> 5;sum(2)(3)=>5;请写出sum函数的">

前端面试题

一、检查一个值是否NaN?

function isNumber(x) {
    if (isNaN(x)) {
            console.log("Not a number");
        } else {
            console.log("Number")
        }
    }

二、有如下函数:

sum(2,3) =>5;
sum(2)(3)=>5;
请写出sum函数的具体实现。

function sum(a, c) {
    if (isNaN(c)) {
        return function(b) {
            return a + b;
        }
    }
    return a + c;
}

三、编写函数计算从整数1到n共出现多少个0。

    function find(n) {
        var box = [];
        var temp = 0;
        for (var i = 1; i <= n; i++) {
            box.push(i);
        }

        for(var i=0;i<box.length;i++){
            if (box[i].toString().match(/0/) == 0) {
                temp +=box[i].toString().match(/0/g).length
            }
        }
        console.log("从整数1到" + n + "共出现了" + temp + "个0")
    }
    find(100);

四、使用JavaScript的prototype实现一个简单的继承例子。

function Dog(breed){
    this.breed = breed;
}
var buddy = new Dog("hashiqi");
Dot.prototype.bark = function(){
    console.log("woof");
}
buddy.bark();
var snoopy = new Dog("Beagle");
snoopy.bark();

五、编写一个JavaScript函数,实现从数组里清楚重复的元素。【算法、字符串操作】

Array.prototype.unique=function(){
    for(var i = 0; i < this.length; i++){ 
       if(temp.indexOf(this[i]) == -1){ 
           temp.push(this[i]); 
       } 
    } 
    return temp; 
} 

六、包含对象的数组转换成字符串。

 var obj = [{
        name: 'xiaoming',
        'age': 18
    }, {
        name: 'xiaohong',
        'age': 17
    }];

这么一个包含对象的数组,要求通过一个var_dump(obj)函数,输出

"[{"name":"xiaoming","age":18},{"name":"xiaohong","age":17}]"

这样的字符串。对于只听过,想过没真正接触过json的人来说,确实有点摸不清头脑啊,虽然知道思路,但是方法什么的的确不熟。
我的思路大体是先把对象转换成字符串,再把字符串组成新的数组,输出的时候两边加上的方括号。

var obj = [{
    name: 'xiaoming',
    'age': 18
}, {
    name: 'xiaohong',
    'age': 17
}];

var var_dump = function(obj) {
    var arr = [];
    for (var i = 0; i < obj.length; i++) {
    //对象转换成字符串,有个JSON的方法,以前没接触,通过这次题目也还是学习了。
        newstr = JSON.stringify(obj[i]);
        arr.push(newstr);
    }
    console.log("[" + arr.toString() + "]");
}

var_dump(obj);

七、obj序列化成JSON字符串。

已知obj变量定义如下:
let obj = {};
let a=1;
let b=1;
Object.assign(obj,{a,b,obj});

请将obj序列化成json字符串:

{
    "a":1,
    "b":1
}

第一次看到let这么一个关键词,还不是太明白,我是用var这么写的。

var obj = {};
var a=1;
var b=1;

var obj = Object.assign({a,b});
var test2 = JSON.stringify(obj);//JSON自带将对象转JSON字符串的方法
console.log(obj,test2);

这里还是要推荐下小编的web前端学习 群 : 581286372,不管你是小白还是大牛,小编我都欢迎,不定期分享干货,包括 小编自己整理的一份最新的web前端资料和0基础入门教程,欢迎初学和进 阶中的小伙伴。在不忙的时间我会给大家解惑。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值