2014-09-19 4 views
0

В следующем коде первый поиск работает правильно, а второй возвращает ошибку: TypeError: Результат выражения 'str.search' [] не является функцией. Это удивительно, поскольку я ожидал, что результат будет численным значением, а не функцией. Я не видел других вопросов с одинаковой ошибкой, поэтому я надеюсь, что это очевидная ошибка начинающего.Почему string.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); 
    } 
} 
+0

язык тегов, пожалуйста. – crashmstr

ответ

1

window.location не является строкой, а на объект, вы должны бросить его:

str = "" + window.location;