gpt4 book ai didi

javascript - 这个 jQuery 模式是否对浏览器安全 : "attr(' foo') || 'default' "?

转载 作者:行者123 更新时间:2023-11-29 21:09:15 25 4
gpt4 key购买 nike

这似乎是一种从数据属性读取值或使用默认值(如果不存在)的巧妙方法:

var confirmMessage = resourceDiv.attr("data-confirm-delete-text") || "Delete this resource?";

它依赖于 undefined(如果属性不存在则返回)是假的。这是浏览器安全的解决方案吗?如果不是,有什么更好的方法?

最佳答案

是的,它是浏览器安全的。只是要小心将它用于有效时为假的值,例如 0false。另请注意,您会发现一些人不喜欢使用该构造,但这主要是为了代码可读性问题,而不是浏览器支持。

替代方案是 if 语句:

var confirmMessage = resourceDiv.attr("data-confirm-delete-text");
if (!confirmMessage)
confirmMessage = "Delete this resource?";

或者三元组:

var confirmMessage = resourceDiv.attr("data-confirm-delete-text") ? resourceDiv.attr("data-confirm-delete-text") : 'Delete this resource?';

如您所见,它们更加冗长,并且在三元的情况下,可能包含一些冗余。

关于javascript - 这个 jQuery 模式是否对浏览器安全 : "attr(' foo') || 'default' "?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42487498/

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