js知识点整理

<html>
<script type="text/javascript">window.pageLoadStart=new Date().getTime()</script>
<script type="text/javascript" src="../websdk/lib/dev_api.js"></script>
<script type="text/javascript" src="main.js"></script>
<script type="text/javascript" src="autorun.js"></script>
<script type="text/javascript">
var scripts = document.getElementsByTagName('script');
var mainScript = scripts[scripts.length - 1];
alert("scripts.length : "+scripts.length);
for(i=0;i<scripts.length;i++){
src = scripts[i].getAttribute('src');
alert("scripts["+i+"]:"+src);
}
</script>
</html>
如以上代码所示,如果在js脚本中使用getElementsByTagName('script')来获取当前html文件中<script>元素的个数
得到的结果集中不仅包含当前html引用的<script>元素,还包含当前的<script>元素所引用的<script>元素。
例如在以上代码中,脚本../websdk/lib/dev_api.js中有如下两行

var requirePath = 'lib/require.js';
preloads.push('<script src="' + requirePath + '" type="text/javascript" onload="' + globalName + '._$sdkReady()"></script>');

所以alert输出的信息依次为:
scripts.length : 6
scripts[0]:null
scripts[1]:../websdk/lib/dev_api.js
scripts[2]:lib/require.js
scripts[3]:main.js
scripts[4]:autorun.js
scripts[5]:null

原文地址:https://www.cnblogs.com/flyfish919/p/6830403.html