小编Don*_*all的帖子

在 JavaScript 中,是否有多个 or 的 if 在继续之前评估所有语句?

在 Javascript 中,特别是 Google 的 V8 引擎,会在“||”列表或条件中编写多个函数调用 在确定 if 比较的最终结果之前执行所有函数?

例如

var path = 'C:\\MyFiles\\file.doc';
if (   path.match(/\.docx?/gi)
    || path.match(/\.xlsx?/gi)
    || path.match(/\.xml/gi)
    || path.match(/\.sql?/gi)) {

    // Success
} else {
    // Failed
}
Run Code Online (Sandbox Code Playgroud)

所以我想问:这与'&&'条件的工作方式类似,但相反吗?第一个条件评估为 TRUE 会导致跳过其余条件并执行成功逻辑吗?

我在我正在寻找的任何文档中都找不到这一点。这不会产生巨大的差异,但是我很好奇这实际上是如何执行的。

(与 And '&&' 类似,我的意思是第一个条件评估为 FALSE 将停止执行其余条件并继续执行其他条件。)

javascript performance conditional-statements

4
推荐指数
1
解决办法
1725
查看次数

int*variable或int变量

我在C++工作,最近一直在使用指针.我发现有几种方法可以初始化我需要使用的内存块.

void functioncall(int* i)
{
    *i = *i + 1;
}

int main(){
    int* a = (int*)malloc(sizeof(int));
    int az = 0;

    functioncall(a);
    functioncall(&az);
}
Run Code Online (Sandbox Code Playgroud)

请注意,第一个变量int*a被声明为指针,然后我为它内存了malloc.但是,使用az它不是指针,但在调用函数时,我得到了内存的地址.

所以,我的问题是:是否有一种首选的方式=,或者是否有任何一种惩罚?

c++ pointers coding-style

2
推荐指数
1
解决办法
783
查看次数