栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > Java面试题

Javascript高级开发两道面试题目

Java面试题 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Javascript高级开发两道面试题目

问题一

使用Promise描述如下过程:绿灯亮3秒,然后红灯亮3秒,然后黄灯再亮3秒。灯亮过程可以用console表示。

当时写的不好,纠结在是封装个sleep函数还是用setTimeout,然后定义了三个Promise对象分别表示红、绿、黄灯亮的过程,自己感觉也挺不好的,所以有点畏首畏尾写不下去。回来在自己机器上几分钟就写出来了,还没有重复定义,内心真是。。那个悔啊,被别人看扁了,其实哥真不是不会啊。

    function sleep(delay){        var now = new Date().getTime();        while(new Date().getTime() - now < delay){        }    }    function led(color){        console.log(color);        sleep(3000);        return new Promise(function(resolve,reject){ resolve();        });    }    led("green").then(function(){        led("red");    }).then(function(){        led("yellow");    });
问题二

自己实现一个sort2,尽可能地模拟js原有的sort函数

这个我确实不会写,js原有的sort函数还可以接收函数参数的。不过让我写个排序的函数还是没问题的。

function sort2(arr,option){    for(var i=0,len=arr.length;i<len-1;i++){        for(var j=i+1;j<len;j++){ if(option && option == 1){     //1为降序,默认或者0为升序     if(arr[j] > arr[i]){         var tmp = arr[j];         arr[j] = arr[i];         arr[i] = tmp;     } }else {     if(arr[j] < arr[i]){         var tmp = arr[j];         arr[j] = arr[i];         arr[i] = tmp;     } }        }    }return arr;}//var arr = [9,4,6,2,1,3,5,8,7,0];var arr = ['c','b','e','a'];console.log(sort2(arr));

该函数支持正序,逆序,数字,字母排序。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/359001.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号