我经常发现我编写的 IF 语句会立即引用条件语句的值。例如,假设我需要检查字符串是否与模式匹配:
if (mystring.match(/mypattern/) {
var mymatch = mystring.match(/mypattern/)[1];
...
};
我怀疑我正在寻找的东西不存在,但我想知道您是否可以在 if 块中引用条件语句的值,就像在函数中引用“参数”一样。当然,在很多情况下,我可以这样重写它:
var mymatch = mystring.match(/mypattern/)[1];
if (mymatch) { ... };
但如果调用了一系列方法,这通常是不可能的。例如:
var mymatch = $('.myclass')[0].text().match(/mypattern/)[1];
...如果没有可调用 .text() 的项目 [0],则会引发异常。我错过了一些方便的速记吗?或者更好的组织事物的方式?只是好奇,真的——如果答案是否定的,我会继续生活。