美文网首页大前端
JavaSctipt面试题解析

JavaSctipt面试题解析

作者: 丽__ | 来源:发表于2021-05-11 17:46 被阅读0次

-xlx

1、判断一个字符串中出现次数最多的字符,并统计次数

/**
 * 最终返回一个对象
 * {
 *  a:3,个数
 *  b:1
 * }
 */

var str = 'fdsfdfsdfwersdwwwwwxfsdfffff'

function fUnique(str){
    // 创建一个对象
    var obj = {};

    for(var i=0;i<str.length;i++){
        // 如果没有,添加一个并且赋值为1
        var key = str[i]
        if(!obj[key]){
            obj[key]=1;
        }else{
            obj[key]+=1
        }
    }

    return obj;
}

const result = fUnique(str);
console.log(result);

结果:


image.png

2、请编写一个javasctipt函数,解析地址参数

const url =
  "https://www.baidu.com/s?wd=%E7%BD%91%E6%98%93%E4%BA%91%E8%AF%BE%E5%A0%82&rsv_spt=1&rsv_iqid=0xa72c667700064b52&issp=1&f=8&rsv_bp=1&rsv_idx=2&ie=utf-8&tn=baiduhome_pg&rsv_enter=1&rsv_dl=tb&rsv_sug3=28&rsv_sug1=24&rsv_sug7=101&rsv_sug2=0&rsv_btype=i&inputT=10095&rsv_sug4=13293";

function fParseQueryString(url) {
  const result = {};

  var urls = url.split("?");
  const arr = urls[1].split("&");
  for (let i = 0; i < arr.length; i++) {
    let brr = arr[i].split("=");
    result[brr[0]] = brr[1];
  }
  return result;
}

console.log(fParseQueryString(url));

结果;


image.png

3、new具体做了什么事

// new到底做了什么
/**
 * 1、创建一个对象  new Object()
 * 2、原型赋值[指向共同一个圆形对象]
 *         对象.__proto__ = Fun.prototype
 * 3、改变this指向
 *      fun.call(obj)
 */

function Fun (){
    // this.name = "张三"
}
Fun.prototype = {
    name:'李四',
    run:function(){

    }
}
const obj = new Fun();
console.log(obj.name);

4、分别打印什么

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        function Foo() {
            getName = function () {
                console.log(1);
            };
            return this;
        }

        Foo.getName = function () {
            console.log(2);
        };
        Foo.prototype.getName = function () {
            console.log(3);
        };
        var getName = function () {
            console.log(4);
        };
        function getName() {
            console.log(5);
        }

        Foo.getName(); //2
        getName(); //4
        Foo().getName(); //1
        getName(); //1
        new Foo().getName(); //3
    </script>
</body>

</html>

相关文章

网友评论

    本文标题:JavaSctipt面试题解析

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