为什么string.search适用于某些字符串而不适用于其他字符串?

时间:2014-09-19 13:08:09

标签: javascript string search

在以下代码中,第一次搜索正常,但第二次返回错误: TypeError:表达式结果' str.search' []不是函数。 这是令人惊讶的,因为我期望结果是数值,而不是函数。我没有看到同样错误的其他问题,所以我希望这是一个明显的初学者错误。

function loadT() {
  var pos;
  var str;

  str=window.name;
  pos= str.search(" ");
  if (pos > -1) {
    window.name = str.slice(0,pos);
  }

  str=window.location;
  pos= str.search("#");
  if (pos > -1) {
    sender = str.slice(pos+1);
  }
 }

1 个答案:

答案 0 :(得分:1)

window.location不是字符串,但是在Object上,你应该强制转换它:

str = "" + window.location;