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

在百度上做个网站需要多少钱设计工资一般多少

在百度上做个网站需要多少钱,设计工资一般多少,定州市住房和城乡建设局网站,优化网络的软件下载这边遇到一个类似于测试的需求#xff0c;需要从一个js文件里获取函数名#xff0c;然后尝试执行这些函数和创建实例。这边首先遇到了一个问题是如何动态获取js里的函数名和类名#xff0c;我这边暂时没找到特别好的方法#xff0c;已有的方法都是类似于提取语法树那种提取…这边遇到一个类似于测试的需求需要从一个js文件里获取函数名然后尝试执行这些函数和创建实例。这边首先遇到了一个问题是如何动态获取js里的函数名和类名我这边暂时没找到特别好的方法已有的方法都是类似于提取语法树那种提取函数名 最后想的还是通过正则匹配函数名来尝试执行有参数需求的函数尝试用数字代替作为参数尽量执行加了个5秒超时 附安装npm https://nodejs.org/en 安装minimist用于调用参数 npm i minimist调用 node tester.js --fp sample.js代码 const fs require(fs); const path require(path);console.log(--fp指定路径); var args require(minimist)(process.argv.slice(2)); console.log(filepath:,args.fp); // 目标文件路径 const targetPath path.join(__dirname, args.fp);// 读取index.js文件内容 const fileContent fs.readFileSync(targetPath, utf8);// 正则表达式匹配函数名和类名 const functionRegex /function\s(\w)\s*\(/g; const classRegex /class\s(\w)/g; const arrowFunctionRegex /([a-zA-Z_\$][a-zA-Z_\$0-9]*)\s*\s*\([^)]*\)\s*/g; // const arrowFunctionRegex /^([^\(\)])\s*/;const functions []; const classes [];// 匹配函数名 let match; while ((match functionRegex.exec(fileContent)) ! null) {functions.push(match[1]); } while ((match arrowFunctionRegex.exec(fileContent)) ! null) {functions.push(match[1]); }// 匹配类名 while ((match classRegex.exec(fileContent)) ! null) {classes.push(match[1]); }if (!fileContent.includes(module.exports)) {fs.writeFileSync(targetPath,fileContent \nmodule.exports {${functions.join(,) , classes.join(,)}}); }const newRequire require(targetPath);/** *name asyncFunction *des 异步函数 *param use: () void | unknow *return {Promise}*/const asyncFunction async(use) {return new Promise( (resolve, reject) {// 异步操作例如 Ajax 请求或者定时器try {const result use();if(result) resolve(result)} catch (error) {reject(error)}}); }// -- timeout 机制 function withTimeout(promise, timeout) {return Promise.race([promise,new Promise((resolve, reject) {setTimeout(() {reject(new Error(操作超时));}, timeout);})]); }// 处理类的方法 const onHandleClassFn async (ClassName, target, name) {const params [];for (let i 0; i target.length; i) {params.push(拟参 i);}if (!/^class\s/.test(Function.prototype.toString.call(target))) {try {const result await withTimeout(asyncFunction(() {return target.length? target(...params): target()}),5000);console.log(---------类${ClassName}的${name}()的return结果, result);} catch (error) {console.log(抛出错误类${ClassName}的${name}()函数执行出错,error信息, error);} } }; for (const iterator in newRequire) {const target newRequire[iterator];const params [];for (let i 0; i target.length; i) {params.push(拟参 i);}if (!/^class\s/.test(Function.prototype.toString.call(target))) {try {target.length? console.log(---------以上是${iterator}()执行的logreturn:,target(...params),---------): console.log(---------以上是${iterator}()执行的logreturn:,target(),---------);continue;} catch (error) {console.log(抛出错误函数${iterator}执行出错,error, error);}}const Instance target.length ? new target(...params) : new target();// 获取构造函数包含的所有方法const methods Object.getOwnPropertyNames(Instance.__proto__).filter((item) item ! constructor);methods.forEach((item) {onHandleClassFn(iterator, Instance[item], item);}); }用于测试的脚本 function AFn() {console.log(Run Function A);return AFn is true } function BFn(param1, param2) {console.log(Run Function B, param1, param2);return BFn is true } const CFn (param1, param2) {console.log(Run Function C, param1, param2);return CFn is true } class Cat {constructor(name, age) {this.name name;this.age age;}Say1(param1) {console.log(Say1方法参数:, param1);return Say1 is new Date();}Say2(param1,param2) {console.log(say2方法参数:, param1, param2);return Say2 is new Date();}ThrowerrFn(){return new Promise((resolve, reject) {setTimeout(() {console.log(这是一个异步模拟抛error出错误的函数);reject(this is a error_throw);}, 200);})}ThrowSuccessFn(){return new Promise((resolve) {setTimeout(() {console.log(这是一个异步模拟success的函数);resolve(success) }, 2000);})}ThrowTimeoutFn(){return new Promise((resolve) {setTimeout(() {resolve(timeout_success, 此结果会因为超时被阻塞输出)}, 6000);})}Say3(param1,param2) {console.log(say3方法参数:, param1, param2);return Say3 is new Date();} }module.exports {AFn,BFn,CFn,Cat}
http://www.pierceye.com/news/587852/

相关文章:

  • 淄博网站制作高端网站后台任务
  • 营销型网站源码成都网站建设seo
  • 天津网上商城网站建设专业的猎头公司
  • 西平县住房城乡建设局网站西部数码网站管理助手3.0
  • 承德市网站建设WordPress电影资源分享下载站
  • 专注于网络推广及网站建设wordpress离线发布功能
  • 营销型网站案例提高wordpress打开速度
  • 怎么样做一个网站自己个人网站后台怎么做
  • 源码站免费找客户网站
  • idc空间商网站源码知名的网站建设
  • 什么叫网站降权建设网站租服务器
  • 网站后台模板怎样使用站长平台
  • 写一个app需要多少钱龙岩seo包年系统排行榜
  • 科技公司企业网站建设手机360网站seo优化
  • 做翻译 英文网站黑色时尚橱柜网站源码
  • wordpress 主机要求珠海百度推广优化
  • 台山网站建设哈尔滨网站建设收费
  • 卖主机 服务器的网站wordpress自动标签内联
  • 28创业商机网seo在线优化技术
  • 建设银行网站查询余额世界杯球队最新排名
  • 网站对联广告做戒指网站的logo照片
  • 网站开发 项目计划书网页设计产品介绍页面的制作
  • 专做正品 网站青岛 网站制作
  • wordpress建站镜像杭州网站开发公司排名
  • 网站都需要什么类别网站首页seo关键词布局
  • 泰安千橙网站建设北京活动策划公司黄页
  • 网页网站模板北京市工商注册网上服务系统
  • 企业网站建设报价明细表免费ppt模板下载哪个网站好
  • 佛山做公司网站全球域名
  • 网站建设陆金手指谷哥7邢台企业做网站找谁