社区
JavaScript
帖子详情
请教下这个JS替换函数的执行过程
凡星℃
2011-10-04 10:44:55
//把word-word转换为wordWord
function camelize(s) {
return s.replace(/-(\w)/g, function (strMatch, p1) { return p1.toUpperCase(); });
};
window['ADS']['camelize'] = camelize;
replace里面的这个function是怎样一个执行过程?
...全文
158
3
打赏
收藏
请教下这个JS替换函数的执行过程
//把word-word转换为wordWord function camelize(s) { return s.replace(/-(\w)/g, function (strMatch, p1) { return p1.toUpperCase(); }); }; window['ADS']['camelize'] = camelize; replace里面的这个function是怎样一个执行过程?
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
峭沙
2011-10-05
打赏
举报
回复
return s.replace(/-(\w)/g, function (strMatch, p1) { return p1.toUpperCase(); });这句话的意思是在传入的字符串s匹配正则表达式/-(\w)/g,并将匹配的到的值传入匿名函数,参数strMatch是整个正则表达式匹配的值,p1是小括号内匹配的值,匿名函数将p1转化为大写并返回,接着raplace将p1对应的初始值替换成处理过后的值。
假如处理的是字符串‘word-word',则先是查找符号'-'后面的第一个字母,并将查找到的值传入匿名函数,此时strMatch = '-w',p1 = 'w',p1被转化成大写'W'并返回,raplace再将p1的原始值'w'替换成'W'。
BLUE_LG
2011-10-05
打赏
举报
回复
相当于将匹配的$1项当作function的p1参数,可以忽略前一个参数。。。
最后一个菜鸟
2011-10-05
打赏
举报
回复
基本同意楼上,不过应该是最后replace将strmatch的值替换为"W"吧
【javascript】如何通过Hook定位到原
函数
调用位置
思路:通过debugger找到hook
替换
函数
的位置,再通过调用堆栈找到是谁调用了它,最后悬浮定位到原
函数
代码位置。
ast反混淆进阶--自
执行
实参
替换
形参
实现目的:自
执行
实参
替换
形参 处理前: (function(_0xb28de8) { _0xb28de8.bbb = ccc; }(window)) 处理后: (function() { window.bbb = ccc; }()) demo.
js
function s() { let arr = [1, 2, 3, 4, 5, 6, 7, 8]; return arr; } (function (_0xb28de8, _0xb28de9,_0xb28de1
浅谈javascript
函数
执行
过程
javascript
函数
执行
过程
: 1. 为
函数
创建一个
执行
环境 2. 复制
函数
的 [[scopes]]属性中的对象构建起
执行
环境的作用链域 3. 创建
函数
活动对象并推入
执行
环境作用链域的前端 4.
执行
代码 5. 销毁
执行
环境和活动对象(闭包情况下活动对象仍被引用没被销毁) 用例子来说明: function Person(name) { t...
AST 练手项目 优化无实参的自
执行
函数
优化前: !(function() { a = b; })(); 优化后: a = b; 将优化前的代码放在AST在线解析网站中 得到以下的图 完整代码如下 下面展示一些 内联代码片。 // 优化无实参的自
执行
函数
//babel库及文件模块导入 const parser = require("@babel/parser"); const traverse = require("@babel/traverse").default; const types = require("@babel/types
js
html模板
函数
,实现一个简单的
js
模板
要实现的目标这是的第一个data = {name: 'a',content: 'template'}变成这是a的第一个template这是个比较简单的 html 解析代码,用正则即可完成。思路是将所有的包裹的东西,与 data 对象的 key 匹配,匹配上
替换
即可。let templateDel = function(tpl, data) {var result = tpl.replace(/|\...
JavaScript
87,984
社区成员
224,681
社区内容
发帖
与我相关
我的任务
JavaScript
Web 开发 JavaScript
复制链接
扫一扫
分享
社区描述
Web 开发 JavaScript
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章