客户端JavaScript代码分析器
是否有JavaScript代码分析器可用于客户端分析代码模式? 我发现了以下内容,但似乎这只是普通文本,并给您提供了客户端JavaScript代码分析器,javascript,jquery,text-analysis,Javascript,Jquery,Text Analysis,是否有JavaScript代码分析器可用于客户端分析代码模式? 我发现了以下内容,但似乎这只是普通文本,并给您提供了=符号等。我需要一些可以在客户端运行的代码分析(JS代码),有什么可以使用的吗 函数parseData(){ var rawData=document.getElementById('data').value.trim(), 结果,, 输出=$(“#输出”), table=$('table')。删除(), 标题, 一行 细胞, ul, 片 wpm=[], wpmAvg=[]; o
=
符号等。我需要一些可以在客户端运行的代码分析(JS代码),有什么可以使用的吗
函数parseData(){
var rawData=document.getElementById('data').value.trim(),
结果,,
输出=$(“#输出”),
table=$('table')。删除(),
标题,
一行
细胞,
ul,
片
wpm=[],
wpmAvg=[];
output.empty();
table.find('thead,tbody').empty();
如果($('[name=“format”]:选中“).val()='text'){
//简单文本
结果=分析文本(原始数据);
output.append('Word count:'+result.count+'
常用词:
');
ul=$(“”);
_.forEach(结果、常用词、函数(值、键){
ul.追加(“- ”+value.word+”:“+value.count+”
);
});
输出追加(ul);
}
否则{
//JSON
试一试{
data=JSON.parse(rawData);
}
捕获(e){
log('Error parsing JSON',e);
}
header=table.find('thead');
body=table.find('tbody');
行=$('');
body.append(行);
//绕片
_.forEach(数据、函数(值、键){
切片='';
//循环语句
_.forEach(值、函数(值、键){
slice+=value.words+'';
});
结果=分析文本(切片);
addCell(切片、键);
});
$.plot(#wpm',[wpm]{
xaxes:[{
axisLabel:“时间索引(1分钟增量)”,
}],
雅克斯:[{
位置:'左',
axisLabel:“每分钟字数”,
}]
});
输出。追加(表);
}
函数addCell(数据、索引){
变量cell1,cell2,ul1,ul2,结果;
单元格1=$('');
第2单元=$('');
ul1=$(“”);
ul2=$(“”);
cell1.追加(ul1);
细胞2.附加(ul2);
行。追加(单元格1、单元格2);
结果=分析文本(数据);
header.append(''+index+'('+result.count+'));
wpm.push([index,result.count]);
_.forEach(结果、常用词、函数(值、键){
ul1.追加('- '+value.word+'
');
ul2.append('- '+value.count+'
');
});
}
}
函数分析文本(rawData){
var结果={
计数:0,
常用词:[]
},
data=rawData.split(/[\s,]+/g)
计数={},
countsArray=[],
常用词=[
0,1,2,3,4,5,6,7,8,9,
'-',
“a”,
“关于”,
"功能",,
“对象”
];
如果(!data[data.length]){
数据拼接(-1,1);
}
//字数
result.count=data.length;
//词频(过滤常用词,按计数降序排列)
对于(变量i=0;i1){
结果.频繁词.推送(值);
}
});
返回结果;
}
正文{
字体系列:arial;
}
表,tr,td,th{
边界塌陷:塌陷;
边框:实心1px#ddd;
}
th,td{
填充:4px8px;
}
.潜台词{
颜色:#999;
字体:斜体;
}
#wpm{
宽度:600px;
高度:400px;
}
简单文本
分析文本
只需循环遍历范围中的每个元素并检测其类型
下面是一个简单的例子:
var分析=功能(obj){
var结果={}
对于(obj中的var b){//对于每个元素
if(对象为自有财产(b)){
var detectedType=(typeof obj[b])//检测类型
如果(!(结果中的detectedType)){results[detectedType]=0;}//如果是第一次检测到该类型,请将其名称添加到结果中
结果[detectedType]++;//增加检测到的类型的计数器
}
}
返回结果;
}
/**
testObject的示例
**/
testObject={
a:未定义,//类型未定义
b:{xx:xx',yy:123},//类型对象
c:false,//类型为boolean
d:987,//类型编号
e:“abc”,//类型字符串
f:Symbol(“foo”),//类型符号
g:function(){},//类型函数
h:“jkl”,//类型编号
i:654//类型编号
};
log(analysis(testObject))
你说的是正则表达式吗?@Jai-可能在幕后我想提供一些代码,这些代码将根据一些关键字结构或一些模式进行分析,请更具体一些。。你到底需要什么?文本分析
是不够的。@MoshFeu-我需要某种机制来获取js文件,并提供有多少函数,多少变量,多少对象,我想以字符串的形式提供文件,并提供一些关键字,以便在文件中查找…有一个开源软件可以用于此目的?虽然这个代码片段可以解决这个问题,但它确实有助于提高您文章的质量。请记住,您将在将来回答读者的问题,这些人可能不知道您的代码建议的原因。还请尽量不要用解释性注释挤满你的代码,这会降低代码和解释的可读性!