当前位置: 首页 > wzjs >正文

网站开发工作进度表关键词密度查询站长工具

网站开发工作进度表,关键词密度查询站长工具,小米网站开发语言,一个人怎么做原创短视频目前在使用QtScriptEngine,在利用evaluate注册子函数时,要求用户输入的js文件中的内容仅仅是函数,函数体外,不能出现一些变量的声明、函数的调用等其他代码。 反复咨询DeepSeek后,终于给出了一个目前测试可用的代码&am…

目前在使用QtScriptEngine,在利用evaluate注册子函数时,要求用户输入的js文件中的内容仅仅是函数,函数体外,不能出现一些变量的声明、函数的调用等其他代码。
反复咨询DeepSeek后,终于给出了一个目前测试可用的代码:

bool isPureFunctions(const QString& code) {enum State {Normal,InFunctionBody,InLineComment,InBlockComment,InString};State state = Normal;int braceDepth = 0;bool hasFunction = false;QChar stringQuote;int functionStartDepth = 0;  // 记录函数起始层级的栈for (int i = 0; i < code.length(); ++i) {const QChar c = code[i];const QChar next = (i < code.length()-1) ? code[i+1] : QChar();switch (state) {case Normal:if (c.isSpace()) {continue;} else if (c == '/' && next == '*') {state = InBlockComment;i++; // 跳过 *} else if (c == '/' && next == '/') {state = InLineComment;i++; // 跳过 /} else if (c == 'f' && code.mid(i, 8) == "function") {// 进入函数声明i += 7; // 跳过 "function"state = InFunctionBody;braceDepth = 0;hasFunction = true;functionStartDepth = 0; // 重置层级计数器} else {// 非函数代码立即拒绝if (hasFunction) return false; // 函数后出现其他代码else return false;              // 函数外出现其他代码}break;case InFunctionBody:if (c == '{') {braceDepth++;if (braceDepth == 1) functionStartDepth = i; // 记录函数起始位置} else if (c == '}') {if (--braceDepth == 0) {state = Normal; // 函数体结束} else if (braceDepth < 0) {return false;   // 花括号不匹配}} else if (c == '"' || c == '\'' || c == '`') {state = InString;stringQuote = c;}break;case InLineComment:if (c == '\n') state = Normal;break;case InBlockComment:if (c == '*' && next == '/') {state = Normal;i++; // 跳过 /}break;case InString:if (c == stringQuote && (i == 0 || code[i-1] != '\\')) {state = InFunctionBody;}break;}}// 最终必须回到Normal状态且至少有一个函数return state == Normal && hasFunction;
}

测试:

// 应返回 true 的有效用例
QString validCode = "function foo1(){}\n""function foo2(){ if(true){} }";
qDebug() << isPureFunctions(validCode); // 输出 true// 应返回 false 的无效用例
QString invalidCode = "function foo(){}\n""console.log(123);\n""function bar(){}";
qDebug() << isPureFunctions(invalidCode); // 输出 false
http://www.dtcms.com/wzjs/282201.html

相关文章:

  • 品牌网查询seo服务公司怎么收费
  • 广州的服装网站建设技术短期培训班
  • iis装网站营销策略有哪几种
  • 网站制作的知识滕州网站建设优化
  • 输入网址跳到别的网站实时疫情最新消息数据
  • 网站建设教程 mysql线上营销推广方案模板
  • 家用电脑桌面做网站在线客服
  • 建手机网站报价网址域名查询
  • 宁波高新区建设局网站免费seo优化工具
  • 网络网站建设办公深圳今日重大新闻
  • 专做会议发布的网站网站开发的一般流程
  • 委托网站建设协议书长春建站服务
  • 公司网站开发的工作内容网站查询工具seo
  • 凯里小程序开发公司百度系优化
  • 政府网站建设服务手机上怎么制作网页
  • 大连网站排名公司网站整合营销推广
  • 网站文章页图片不显示图片长沙网站建设服务
  • 网站开发原型 图搜狐财经峰会
  • 营销推广型网站公司搜索引擎营销方式
  • 平面设计资源网站重庆seo网站
  • 宁波最靠谱的网站建设如何做好网上销售
  • 怎么做网站的域名解析广州网络推广专员
  • 做网站的国标有哪些外包网络推广公司推广网站
  • 网站建设与管理案例...seo快速排名案例
  • php做的网站处理速度怎么样百度推广后台登录
  • 博物馆网站 建设方案上海谷歌seo推广公司
  • 做网站一定要用到dw如何做好平台推广
  • iis7 添加网站2024年1月新冠高峰
  • 公司网站建设进度计划书百度提交入口网站网址
  • 和wordpress类似的开源博客西安seo计费管理