我的问题:
我写一个脚本位的,将阅读页面的引用URL,并检查它从何而来,即谷歌,必应等。现在我知道我可以做一个document.referrer.search('google');
但我不想这样做,因为从数组或对象中读取值是有意义的。我已经创建了具有我正在寻找的项和属性名称如下的对象:
var searchProviders = {
"google": "google.com",
"bing": "bing.com",
"msn": "search.msn",
"yahoo": "yahoo.co",
"mywebsearch": "mywebsearch.com",
"aol": "search.aol.co",
"baidu": "baidu.co",
"yandex": "yandex.com"
};
现在,我想知道的是,我可以通过这个对象进行迭代,并做了document.referrer.search(searchProviders[0])
,然后返回属性名称?所以例如如果它包含,google.com
我希望它返回google
?我希望返回此术语(而不是搜索术语)的原因是因为此值需要稍后使用。
我记得在上面发布的问题中阅读,你只能使用foreach
语句遍历一个对象 - 有没有另外一种方法来做到这一点?当然,如果我可以使用foreach
语句,但是我希望语句在发现正确的值时中断(因此我为什么要使用if
)。
所以我有点卡住了什么是最好的方法。任何帮助将不胜感激,希望我已经解释了一切 - 如果不是,请告诉我,我会更新我的问题。
谢谢 - 会给这个去。我不知道你可以使用这样的for循环。每天都是学生! :) – zik 2011-12-14 12:41:02
感谢您的编辑,杰森。太过习惯Node.js(隐含地这样做),我想。 – 2011-12-14 14:23:08