gpt4 book ai didi

javascript - 检查 JavaScript 中对象中是否存在属性(浏览器合规性)

转载 作者:行者123 更新时间:2023-12-02 14:10:44 25 4
gpt4 key购买 nike

检查 JavaScript 中对象的给定属性是否存在的最标准和最好的浏览器兼容性是什么?

我可以想到以下内容:

1.

if(window && 'navigator' in window && 'userAgent' in window.navigator) {}

2.

if(window && window.navigator && window.navigator.userAgent) {}

最佳答案

每次检查开始时的window && 检查是不必要的。从来没有自然情况下它会被评估为 false。 (如果您在 Nodejs 或不存在 window 全局的 Web Worker 中运行代码,则该行将引发异常,并且不会计算为 false。没有环境可以使 window && 会改善情况,但这样做会产生误导。)

#1 将检查 window 对象是否具有带有任何值的 navigator 属性等。#2 将检查 window 对象是否具有有一个带有 true 值的 navigator 属性。除非您希望 window.navigatorwindow.navigator.userAgent 作为属性出现,但设置为 falsenullundefined0NaN''(这些特定属性并不自然地存在)在浏览器中),那么 #2 就可以正常工作,而且它更短。

关于javascript - 检查 JavaScript 中对象中是否存在属性(浏览器合规性),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39605270/

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