我正在编写一个使用javascript并以某种方式创建继承的程序。

如果用户键入:

x.isSingleLine()


并且它不存在,它使Javascript崩溃。我希望有一种方法可以执行以下操作:

x.isSingleLine() || "Doesnt Exist";


以某种方式使它执行软错误或某种警报。我不想将对象封装在try-catch块中。

有没有办法可以做到这一点?

在语句中:x.isSingleLine()|| “不存在”;它将崩溃,并且不执行“或”部分,因此显然这不是答案。

最佳答案

那个怎么样?

  x.isSingleLine ? x.isSingleLine() : console.log("Doesnt Exist");


编辑:
如@FelixKling所建议,如果isSingleLine存在但不是函数,则应改用:

(x.isSingleLine && x.isSingleLine instanceof Function) ? x.isSingleLine() : console.log("Doesnt Exist");

关于javascript - 如何在JavaScript的一行中调用没有错误的可能不存在的方法?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17788804/

10-09 23:05