【发布时间】:2016-08-22 16:25:59
【问题描述】:
我正在使用 ng-flow 示例进行基本图像上传。我看到了一个我不明白它是如何工作的表达式。
基本上就是这样的表达方式:
<p>Demo object array expression in Javascript:</p>
<p id="demo"></p>
<script>
var expr = !!{png:1,gif:1,jpg:1,jpeg:1}['pdf', 'gif', 'jpg'];
document.getElementById("demo").innerHTML = expr ;
</script>
如果数组在最后一个元素中有一个有效的图像,上面的意思似乎返回true。我不知道为什么,但是在我研究了代码之后,这是我的结论。
如果有人可以帮助我理解上述内容并给我一个文档链接,我将不胜感激。我到处搜索,但没有找到任何参考。
Click here to see the html which has this expression from ng-flow
我认为代码的目的是在文件不是图像时禁用文件的上传。
任何人都可以推荐和更简单的替代方案,请告诉我。
塔雷克
【问题讨论】:
-
您在链接到的页面上的哪个位置看到该表达式?它有
!!{png:1,gif:1,jpg:1,jpeg:1}[$file.getExtension()] -
这正是你提到的那个。我只是简化了它,并将 [$file.getExtension()] 替换为 ['pdf', 'gif', 'jpg']。
-
但是
$file.getExtension()只是一个字符串,而不是 3 个字符串。你没有简化它,而是让它变得更加混乱。
标签: javascript expression ng-flow