zoukankan      html  css  js  c++  java
  • 前端工程师面试题JavaScript部分(第四季)

    1、关于获取一个url中的参数列表问题

    方法有很多种,比如正则啊,split截取字符串等等

    下面是字符串的方法

    function(url){
      var resutl = {};
      url = url.split("?")[1];
      var map = url.split('&');
      for(var i=0;len = map.length, i<len;i++){
          result[map][i].split('=')[0]  = map[i].split('=')[1];
      }
      return result;
    }

    另外还有location.search方法可以获取url?及其以后的参数然后split

    第二种是正则的方法

    function getQueryString(url){
      //var reg = new RegExp("")
      var r =  window.location.serach.substr(1).match(reg);
      var context = '';
      if(r != null){
         context = r[2];
         reg = null;
         r = null;
         return context == null || context == '' || context == 'undefined' ? "" : context;
      }
    }

    第三中也是正则

    function getQueryString(name) {
        var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i');
        var r = window.location.search.substr(1).match(reg);
        if (r != null) {
            return unescape(r[2]);
        }
        return null;
    }

     这里没有关注参数值为空的情况和解码的问题

    var name = "The Window";
    var object = {
       name : "My Object",
       getNameFunc : function(){
          return function(){
            return this.name;
         };
        }
    };
    alert(object.getNameFunc()()); //The Window。

    题目解析,主要考察this的指向问题,匿名函数的执行具有全局性,

  • 相关阅读:
    [图论入门]图的储存
    [五年CSP三年模拟]洛谷2020初赛模拟赛分析
    [五年CSP三年模拟]CSP2020-J冲刺
    [算法入门]KMP算法
    [算法入门]单调队列
    有关递推与递归的回顾
    软工实践个人总结
    第02组 每周小结 (3/3)
    第02组 每周小结 (2/3)
    第02组 每周小结 (1/3)
  • 原文地址:https://www.cnblogs.com/wgdong/p/5289177.html
Copyright © 2011-2022 走看看