为动态生成的JS函数分配自定义属性
Assign custom property to dynamically generated JS functions
我正在尝试设置函数的速度测试。当我直接传递一个函数时,它可以工作,但是我想为同事提供一个表单来剪切和粘贴他们自己的。
function sendTest() {
//fName, fContent
var fName = document.getElementById("fName").value;
var fContent = document.getElementById("fContent").value;
var f = new Function(fName, fContent);
f.name = fName;
testTime(f);
}
testTime()是评估性能的函数,从sendTest()评估执行时间是正确的,但是我不能从testTime()访问函数名来显示函数名和结果。f.name和f.fName都显示为undefined
函数是一个对象,对吗?所以我应该可以给它应用name属性?对于你的特定问题,这似乎是一个比别人标记你的问题的副本更简单的答案。
在ES6中,有一个函数的内置.name
属性是不可写的,所以这就是为什么你不能给它赋值(链接到ES6规范草案的特定部分)。你应该能够使用不同的属性名称,如果你想分配一个名称,你这样做的方式。
使用不同属性名的工作演示:http://jsfiddle.net/jfriend00/6PVMq/
f = new Function("log('Hello')");
f.myName = "sayHi";
function testFunc(func) {
log("function name is: " + func.myName);
func();
}
testFunc(f);
相关文章:
- 如何在jQuery中将链接函数分配给变量
- 如何在不使用javascript执行的情况下为函数分配参数
- Javascript从函数分配属性
- 将JavaScript函数分配给提交按钮,该按钮应有条件执行
- 将 jQuery 函数分配给变量不起作用,但包装它不起作用
- 通过参数将传递的函数分配给动态创建的输入类型的onclick事件
- 如何将printThis插件函数分配给按钮
- Javascript-将函数分配给变量dos'不能按预期工作
- 将函数分配为原型函数的属性
- JavaScript 将函数分配给变量而不运行它
- 是否将函数分配给变量的区别
- q 从 .then 函数分配给更高级别的作用域变量是否存在任何陷阱
- JavaScript 将函数分配给对象属性
- 为 jQuery 函数分配多组参数
- 在 JavaScript 中将同一函数分配给多个变量时出现性能问题
- 使用eval使用字符串输入按名称将函数分配给变量有什么风险
- 如何将函数分配给在页面加载后动态添加的元素
- 为什么在模块模式中将函数分配给变量
- 将异步函数及其回调函数分配给单个变量
- 我无法为我的 jquery 函数分配鼠标悬停事件