javascript - 使用串联和数组值的点表示法函数

发布于 2024-11-08 20:58:23 字数 520 浏览 0 评论 0原文

<script src="modernizr-1.7.min.js"></script>    
var modernizr_fields = new Array("canvas","video","webgl");     
for (i=0; i < modernizr_fields.length; i++) {
    document.writeln(modernizr_fields[i] + " ");    
    if (Modernizr + "." + modernizr_fields[i])
        document.writeln("true");   
    else
        document.writeln("false");
    document.writeln("<br>");       
}

我知道问题出在这一行:“if (Modernizr + “.”+ Modernizr_fields[i])”,因为它总是评估为“true”

请帮助我的语法。

<script src="modernizr-1.7.min.js"></script>    
var modernizr_fields = new Array("canvas","video","webgl");     
for (i=0; i < modernizr_fields.length; i++) {
    document.writeln(modernizr_fields[i] + " ");    
    if (Modernizr + "." + modernizr_fields[i])
        document.writeln("true");   
    else
        document.writeln("false");
    document.writeln("<br>");       
}

I know the problem is with this line: "if (Modernizr + "." + modernizr_fields[i])" as it is always evaluating to "true"

Please help with my syntax.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

七月上 2024-11-15 20:58:23

您需要:

if (Modernizr[modernizr_fields[i]]) {
     ...
}

格式 obj.field 仅适用于文字字段名称,如果 field 是您使用 obj[field] 的变量

You need:

if (Modernizr[modernizr_fields[i]]) {
     ...
}

The format obj.field only works with literal field names, if field is instead a variable you have you use obj[field]

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文