我正在编写一个使用javascript并以某种方式创建继承的程序.
如果用户键入:
x.isSingleLine()
Run Code Online (Sandbox Code Playgroud)
并且它不存在,它崩溃了Javascript.我希望有办法做一些事情:
x.isSingleLine() || "Doesnt Exist";
Run Code Online (Sandbox Code Playgroud)
在某种程度上它会导致软错误或某种警报.我不想将对象封装在try-catch块中.
有没有办法可以实现这个目标?
在声明中:x.isSingleLine()|| "不存在"; 它会崩溃,而不是OR部分,所以这显然不是答案.
那个怎么样?
x.isSingleLine ? x.isSingleLine() : console.log("Doesnt Exist");
Run Code Online (Sandbox Code Playgroud)
编辑:
正如@FelixKling建议的那样,如果有可能isSingleLine存在但不是函数,你应该使用:
(x.isSingleLine && x.isSingleLine instanceof Function) ? x.isSingleLine() : console.log("Doesnt Exist");
Run Code Online (Sandbox Code Playgroud)
在调用之前,您需要检查它是否存在.
var result = x.isSingleLine ? x.isSingleLine() : "Doesn't Exist";
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
621 次 |
| 最近记录: |