客户端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

是否有JavaScript代码分析器可用于客户端分析代码模式? 我发现了以下内容,但似乎这只是普通文本,并给您提供了
=
符号等。我需要一些可以在客户端运行的代码分析(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文件,并提供有多少函数,多少变量,多少对象,我想以字符串的形式提供文件,并提供一些关键字,以便在文件中查找…有一个开源软件可以用于此目的?虽然这个代码片段可以解决这个问题,但它确实有助于提高您文章的质量。请记住,您将在将来回答读者的问题,这些人可能不知道您的代码建议的原因。还请尽量不要用解释性注释挤满你的代码,这会降低代码和解释的可读性!