我在匿名javascript函数中看到以下代码,无法理解它是如何有用的?
(function($, undefined)
{
var src = $('script:last').attr('src'); // <- how is this line of code useful
// more code to follow.....
})(jQuery);
答案 0 :(得分:4)
它获取文档中最后一个脚本标记的src
属性。
这究竟是多么有用取决于你想要做什么。
我偶尔会看到javascript想要在脚本URL的末尾获取一些服务器提供的参数,甚至是该URL之外的域,这样就可以实现这一点。
如果代码是从通过<script>
标记加载的脚本运行的,那么它用于获取当前脚本加载的URL。这是有效的,因为解析器在将更多页面插入DOM之前,在脚本标记中执行脚本。因此,在运行<script>
标记的脚本时,文档中的最后一个<script>
标记是当前正在执行的脚本(假设没有async
或defer
属性出现在脚本标签上。)
我应该补充一点,内联脚本没有.src
属性,因此这只会获得对.src
标记上使用<script>
属性的外部脚本有用的内容。
答案 1 :(得分:1)
该代码只是检索页面最后一个脚本元素的url源。