You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Google AdminDirectory的if条件判断中返回对应用户的结果

代码存在的问题

  • 条件判断误用赋值运算符:所有if判断里都用了赋值符号=,而非相等比较运算符。name = "Mark Thomas"的执行逻辑是直接把name变量强制赋值为Mark Thomas,赋值表达式的返回值为字符串本身,布尔判定永远为真,因此所有用户都会命中第一个分支,返回www.google.com。这里应该用严格相等运算符===做判断,避免隐式类型转换的隐患。
  • 语法错误导致逻辑截断:第二个else if(对应William Tell的分支)结束后多写了一个多余的闭合大括号},直接把整个条件判断块打断,后续针对John Peter的判断逻辑完全不在函数有效执行流程内。
  • 变量未声明风险:greeting变量没有提前声明,会默认挂载为全局变量,可能引发其他上下文的变量污染问题,建议在函数开头声明该变量。

修正后的代码

function getUserID() {
    var user = Session.getActiveUser().getEmail();
    var name = AdminDirectory.Users.get(user).name.fullName;
    var greeting = ""; // 提前声明变量

    if (name === "Mark Thomas") {
        greeting = "www.google.com";
    } else if (name === "William Tell") {
        greeting = "www.msn.com";
    } else if (name === "John Peter") {
        greeting = "www.yahoo.com";
    }
    return greeting;
}

内容的提问来源于stack exchange,提问作者user14566169

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.15 02:15:03