前端面试题

5 篇文章 0 订阅
1 篇文章 0 订阅

前端面试题

  1. 介绍一下浏览器的缓存。(Expires, Cache-Control等)

    可以参考这篇博客

  2. 描述一下cookie,sessionStorage和localStorage的区别?

    可以参考这篇博客

  3. 前端性能优化有哪些方法?

    可以参考这篇博客

  4. vue组件通信。

    可以参考这篇博客

  5. 写一个验证微信号有效性的正则。(微信号格式:由6-20个字母,数字,连字符,下划线组成,且必须以字母开头)

    	/^[a-zA-Z][a-zA-Z\d_-]{5,19}$/
    
    	^:匹配的开始
    	
    	[a-zA-Z]:字母不区分大小写
    	
    	^[a-zA-Z]:首字母不区分大小写
    	
    	[a-zA-Z\d_-]:字母、数字、下划线和减号;\d表示数字
    	
    	{5,19}6-20
  6. 写出下面代码执行结果。

       var a = 1
       function fn(a) {
       	console.log(a)
       	a = 2
       }
       fn()
       console.log(a)
    
    输出: undefined , 1
    
  7. 写出下面代码的执行结果。

    	for (var i = 1; i <= 3; i ++) {
    		setTimeout(function() {
    		console.log(i)
    		}, 0)
    	}
    
    输出:4,4,4
    
  8. 写一个方法,不使用js库函数(如:reverse),实现判断回文字符的判断(一个字符正序和反序是一样的,列如:‘abcba’)。

    function palindRome(str){
      var len = str.length;
      var str1 = "";
      for(var i=len-1; i>=0;i--){
          str1+=str[i];
      }
      console.log(str1 == str)
    }
    
  9. 写一个方法,实现正整数1到N的阶乘。

    	1.使用while循环:
       	function js(num){
           	var result = 1;
       	    	while(num){
       	       	 result*=num;
       	        	num--;
       		   	}
       	    	return result;
       	}
       2.使用递归:
       	function js(num){
       	    if(num<=1) return 1;
       	    else{
       	        return num*js(num-1);
       	    }
       	}
    
  10. 给定一个全部由小写字母组成的字符串,统计其中出现次数最多的字母。

    1.使用正则
    	var str = "aatgddddhduiqjdaddancytcz"
        var arr = str.split("")
        var Arr = arr.sort()
        var strs = Arr.join("");
        var max = "";
        var maxSting= 0
        strs.replace(/(\w)\1+/g, function (strs, strs2) {
            if (strs.length > maxSting) {
                maxSting= strs.length;
                max = strs2
            }
        })
        console.log(max, maxSting)
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值