美好的一天。
我开始对一个大项目进行代码审查,其中javascript代码已经由我之外的许多人编写。
我已经看到,在某个时刻有一个像以下那样的功能:
jQuery.cookie=function(name,value,options){...}
所以基本上,有人想要定义一个名为jQuery.cookie
的函数。现在,由于我无法忍受这一点,我想至少在声明此函数之前检查jQuery.cookie(真正的库)是否存在。在这种情况下,确实:
if(jQuery.cookie!== 'undefined') return true;
应该成功吗?
答案 0 :(得分:2)
if(typeof jQuery.cookie!== 'undefined') return true; // quote to undefined
另外,你想尝试这样使用吗?
if(typeof jQuery.cookie === 'undefined')
jQuery.cookie=function(name,value,options){...}
答案 1 :(得分:1)
您缺少typeof关键字和引号:
if(typeof jQuery.cookie !== 'undefined') return true;
你也可以测试它是否是一个函数:
if(typeof jQuery.cookie !== 'function') return true;
答案 2 :(得分:0)
我个人更喜欢这种方法,因为无论引擎如何,我总能在完全相等===
上进行转发
var undefType = typeof udefined;
if(typeof jQuery.cookie !== undefType) return true;