如何在调用JavaScript函数之前检查它是否已加载或存在于页面中?

Tho*_*mas 6 javascript

任何人都可以给我一个JavaScript代码片段,通过它我可以检测我的aspx网页中是否加载了JavaScript函数或者在调用它之前是否存在?

谢谢

ale*_*lex 12

这将检查您的功能是否已定义.

if (typeof functionName === 'function') {
  alert('loaded');
}
Run Code Online (Sandbox Code Playgroud)

看见.

  • @Marcel Korpel不,`===`*确实***更快**因为类型转换没有**开销.使用`===`也是一个好习惯.即使快速检查我的节点,也可以在此处证明,当涉及数字和字符串时,`==`大约慢10倍. (3认同)
  • @Ivo:你假设一个总是使用`===`的默认位置,我怀疑你是从Douglas Crockford得到的.对于那些可能不完全熟悉JavaScript类型如何工作的初学者来说,他的这个建议是有价值的,但不是每个人都这样.你也可以假设一个默认的位置总是使用`==`,除非`===`是绝对必要的. (2认同)
  • 这些基准毫无意义,没有任何证据.首先,"=="和"==="的性能之间的任何差异永远不会成为真正代码中的瓶颈或产生任何可感知的差异.其次,这些基准测试是人为的,并且可能受制于谁知道在浏览器的JavaScript引擎中哪些优化在常规情况下是不可能的. (2认同)