document.referrer如果当前网页是超链接打开的则返回URL,如果不是则返回null,根本没有说会返回undefined啊,而且typeof(空)为object,所以undefined到底是哪里来的?
typeof
返回的是字符串。
参考文档
我感觉是用来判断支不支持document.referrer
这个属性的,虽然好像大多数浏览器都支持。
不过看了下魅族的页面,那段代码放在那么前的位置, 写成这样可能是为了防止报错,影响后面js的执行吧。
string = document.referrer;
The value is an empty string if the user navigated to the page directly (not through a link, but, for example, via a bookmark). Since this property returns only a string, it does not give you DOM access to the referring page.
typeof document.referrer
获取document.referrer值的类型字符串描述
和下面的含义相同
var referrer=document.referrer;
typeof referrer =='undefined'
undefined == null ,这里用的是相等运算符(==),他们都会隐式转换成布尔值(false),即false == false