gpt4 book ai didi

javascript:使用赋值语句,其中条件表达式通常是

转载 作者:行者123 更新时间:2023-11-27 22:38:22 25 4
gpt4 key购买 nike

我刚刚遇到一段 JavaScript 代码,它在逻辑 && 的地方使用了赋值语句。或逻辑OR将使用表达式:

var geo;

function getGeoLocation() {
try {
if ( !! navigator.geolocation ) {
return navigator.geolocation;
} else {
return undefined;
}
} catch(e) {
return undefined;
}
}


if (geo = getGeoLocation()) {
// ^^^^^^^^^^^^^^^^^^^^^ this is the statement I am interested in
console.log('conditional expression was true/truthy');
}

我的问题是,从if的 Angular 来看语句,什么时候返回
geo = getGeoLocation()被评估了吗?
特别是它的结果是什么?类型是什么?
是吗

  • 无论什么功能getGeoLocation()返回?
    (其中类型为真/假)
  • 这是作业的“结果”吗?即是否分配了非空值?
    (在这种情况下,“结果”可能是 bool 值,真/假?)
  • 还是其他什么?

最佳答案

if (geo = getGeoLocation()) {  
// ...
}

My question is, from the perspective of the if statement, what is being returned when geo = getGeoLocation() is evaluated?

以下是将会发生的事情的时间顺序:

  • getGeoLocation() 将首先执行
  • 接下来将发生赋值操作,其中 getGeolocation() 返回的任何内容都将存储在 geo

    • 这将是 undefinednavigator.geolocation(如果存在)。
  • 然后
  • geo 将被评估(针对 truthiness 进行测试)作为if 语句的条件

该代码的等效内容如下:

geo = getGeoLocation();
if (geo) {
// ...
}

关于javascript:使用赋值语句,其中条件表达式通常是,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38928780/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com