代码之家  ›  专栏  ›  技术社区  ›  ceth

javascript中的split()

  •  5
  • ceth  · 技术社区  · 14 年前

      function _filter() {
        var url = window.location;
        alert(url);
        alert(url.split("/")[1]);
      }
    

    当我启动它时,我只收到一条警告消息:

    http://localhost:8000/index/3/1 .

    为什么我没有收到第二条警报信息?

    7 回复  |  直到 14 年前
        1
  •  13
  •   Sarfraz    14 年前

    添加 .toString() 工作并避免此错误:

    类型错误:url.split不是函数

    function _filter() {
        var url = window.location;
        alert(url);
        alert(url.toString().split("/")[2]);
    }
    

    在这个页面上运行时,输出是:

    stackoverflow.com
    
        2
  •  4
  •   jerjer    14 年前

    这个 位置 物体就是原因, window.location是一个对象,不是字符串 它是location.ref或location.toString()。

      function _filter() {
        var url = window.location.href; // or window.location.toString()
        alert(url);
        alert(url.split("/")[1]);
      }
    
        3
  •  3
  •   Guffa    14 年前

    价值 window.location 不是字符串,您需要 href location对象的属性:

    function _filter() {
      var url = window.location.href;
      alert(url);
      alert(url.split("/")[1]);
    }
    
        4
  •  1
  •   Pranay Rana    14 年前

    因为您的url是一个对象,所以您需要将其转换为字符串,而不是应用split函数

    function _filter() {
        var url = window.location+ '';
        alert(url);
        alert(url.split("/")[2]);
    }
    
        5
  •  1
  •   Henry H    14 年前

    索引[1]位于 http:// 它是空的,不会被提醒。索引[2]是 localhost:8000 你可能在找。

    简单的 window.location.hostname 也应该有用。

        6
  •  0
  •   g.geloso    14 年前

    若要了解从拆分操作中获取的条数,可以向url.split的.lenght发出警报,是否确定脚本未被阻止?

    用萤火虫来理解

        7
  •  0
  •   WaiLam    14 年前

    url.split(“/”)[1]将等于空。因此,它alert(空)将不显示msg。