美文网首页
web前端面试基础

web前端面试基础

作者: ps_fba7 | 来源:发表于2017-06-14 11:46 被阅读0次
    • 请写出下面几个alert的执行结果
    var a=100;
    function fn(){
        alert(a);
        var a=200;
        alert(a);
    }
    fn();
    alert(a);
    var a;
    alert(a);
    var a=300;
    alert(a);
    
    undefined
    200
    100
    100
    300
    
    • 请写出以下程序的输出
    var obj1={name:'obj1',fn:function(){
        document.write(this.name);
    }}
    var obj2={name:'obj2'};
    var obj3={name:'obj3'};
    
    obj1.fn();
    var newFn=obj1.fn;
    newFn();
    newFn.call(obj2);
    obj3.fn=newFn;
    obj3.fn();
    
    obj1obj2obj3
    
    • 一个数组par中存放有多个人员的信息,每个人员的心心由年龄age和name组成,如{age:2,name:'xx'}。倾斜出一段ja程序,对这个数组按照年龄从小打到进行排序。
        var par=[{
            nama:'zhangsan',
            age:3
        },{
            name:'lisi',
            age:2
        }];
    
        par=par.sort(function(x,y){
            return x.age-y.age;
        })
        console.log(par);
    
    • 有字符串var str='abc345efgabcab',请写出3条JS语句分别实现如下3个功能:
      1.去掉字符串中的a、b、c,形成结果'345efg'
      2.将字符创中的数字用括号括起来,形成结果‘abc[3][4][5]efgabcab’
      3.将字符串中的每个数字分别乘以2.形成结果:‘abc6810efgabcab’

    参考博客

    var str='abc345efgabcab'
    var a=str.replace(/[abc]/g,'');
    console.log(a);
    
    var b=str.replace(/(\d)/g,'[$1\]');
    console.log(b);
    
    var c=str.replace(/\d/g,function(a){return a*2});
    console.log(c);
    
    // extend
    var tel='13823202309';
    tel=tel.replace(/(\d{3})(\d{4})(\d{3})/,'$1****$3');
    console.log(tel);
    
    • 请编写一段JS程序,定义一个列表类List,该类包含两个成员:属性Length(标示列表中的元素个数)和方法add(向列表添加元素),其中要求构造函数和add方法的参数为动态参数。
    function List(){
        this['_data']=[];
        for(var ele in arguments){
            this._data.push(ele);
        }
        this.length=this._data.length;
    }
    List.prototype={
        construct:List,
        add:function(){
            for(var ele in arguments){
                this._data.push(ele);
            }
            this.length=this._data.length;
        }
    }
    var list=new List('1','2');
    list.add('3');
    console.log(list);
    
    • 请问一下JS程序有什么问题?应该如何优化?
    function setStyle(element){
        element.style.fontWeight='bold';
        element.style.textDecoration='none';
        element.style.color='#000000';
    }
    var ele=document.querySelector('a');
    setStyle(ele);
    
    • 请写出一下正则表达式
      1.匹配一个全部是数字的字符串
      2.提取出一个url所使用的协议类型如http、ftp等和host名称。
    1、^[1-9]\d+$
    2、
    

    相关文章

      网友评论

          本文标题:web前端面试基础

          本文链接:https://www.haomeiwen.com/subject/uyqkqxtx.html