0

在以下函数中:

(function() {
  var po = document.createElement('script');
  po.type = 'text/javascript';
  po.async = true;
  po.src = 'https://apis.google.com/js/plusone.js';
  var s = document.getElementsByTagName('script')[0]; 
  s.parentNode.insertBefore(po, s);  })
(); 

下面创建一个po文档脚本对象,源码来自google plusone.js。然后获取文档的第一个脚本元素并分配给 s。最后在 po 之前插入 script s。

我的问题是该功能的目的是什么?

4

3 回答 3

2

该函数简称为立即调用函数表达式或 IIFE。目的是将代码封闭在一个新的范围内,这样变量就不会泄漏到全局范围内。

于 2012-10-03T01:30:02.557 回答
1

此函数动态插入和加载脚本到当前页面(动态脚本包含)。

该函数本身是一个 IIFE,它可以防止将变量添加到全局范围。

于 2012-10-03T01:31:16.217 回答
-1

它在现有脚本元素之前插入新的 s 脚本。

于 2012-10-03T01:30:44.100 回答