代码分析 | 没学过JavaScript如何分析简单JavaScript代码
没学过JavaScript,如何分析其中的代码?
前些日子有个好友找我帮忙,让我分析一下以下代码
var loc = location.href;
var n1 = loc.length;
var n2 = loc.indexOf('=');
var txt = decodeURI(loc.substr(n2+1,n1-n2));
var box = document.getElementById('box');
box.innerHTML = txt;
不过我还没学JavaScript ,那么怎么来解读这个代码呢?
我的想法是,借助百度,一句话一句话的“读”
以下附上我的分析过程:
(关键就是弄懂里面一些命令参数的意思与作用)
var loc = location.href;
var n1 = loc.length;
var n2 = loc.indexOf('=');
var txt = decodeURI(loc.substr(n2+1,n1-n2));
var box = document.getElementById('box');
box.innerHTML = txt;
var loc = location.href;
location.href; 返回完整的URL(当前页):
将返回的值给变量 loc
n1 = loc.length;将URL长度记为n1
indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。
n2 = loc.indexOf('='); 等号首次出现的位置,记为n2
loc.substr();
在字符串中抽取从 start 下标开始的指定数目的字符。
起始下标(start)为n2+1(等号后面的一个字符)
子串中的字符数(length)为n1-n2(总长度减去等号出现的位置)
decodeURI(); 对一个编码后的URL进行解码
解码后的内容存放在 txt中
var box = document.getElementById('box');
box.innerHTML = txt;
读取内容:txt的内容
参考资料:
https://www.cnblogs.com/zjm1999/p/10222129.html