if(typeof myFunction!=='function')–为什么在Safari中不起作用?

时间:2019-04-23 21:56:21

标签: javascript safari

我有此代码可在Chrome中使用,但在Safari中无法正常工作:

if (typeof myFunction !== 'function') {

  function myFunction() {
    console.log('myFunction invoked');
  }

  myFunction();

} else {
  console.log('myFunction ALREADY DEFINED o_O!');
}

当我在Chrome中运行此代码时-它会记录“ myFunction invoked”。

当我在Safari中运行它时,它会记录“ myFunction已定义o_O!”

我想使typeof在Safari中的工作方式与在Chrome中相同。我该如何实现?

1 个答案:

答案 0 :(得分:1)

只需使用以下代码:

if (typeof myFunction !== 'function') {

  let myFunction = function() {
    console.log('myFunction invoked');
  }

  myFunction();

} else {
  console.log('myFunction ALREADY DEFINED o_O!');
}

let关键字将解决您的问题