gpt4 book ai didi

Javascript 短路未返回正确的值

转载 作者:行者123 更新时间:2023-12-03 05:21:39 24 4
gpt4 key购买 nike

我有一个 js 变量,它是通过 php 页面上的 php 生成的:

<script type="text/javascript">
var shadeData = <?php echo $formattedShadeData; ?>;
</script>

这个变量只会在一个页面上定义,所以我想防止其他页面加载时抛出错误。在我的一个 JavaScript 文件中,如果变量尚未定义,我想停止代码运行,所以我一直在尝试:

var shadeData = shadeData || null;

if(!shadeData){ return false; }

但是,这不起作用,我仍然收到“shadeData 未定义”的消息。这些行下面的代码中有几个函数使用该变量,但理想情况下,当第二行返回 false 时,这不会运行。

最佳答案

您不能在 JavaScript 程序的全局/顶级范围内使用 return

稍作调整后,您的想法应该可以正常工作:将所有代码包装在 IIFE 中.

// If shadeData is already defined and falsey, this is unnecessary. But included for clarity.
var shadeData = shadeData || null;

(function () {
if (!shadeData) {
return;
}
// From now on within this function, shadeData is truthy.
}());

// shadeData is not necessarily truthy down here.
console.log('shadeData:', shadeData);

在现实世界中,这通常是通过有条件调用的主入口函数(通常名为 init)来完成的。

function init() {
// I am only run when shadeData is truthy.
}
if (shadeData) {
init();
}

关于Javascript 短路未返回正确的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41352957/

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