思路
动态函数,即函数名和实现代码都靠后续输入
代码
<label for="">方法名:</label>
<input type="text" id="text"><br>
<label for="">实现方法:</label>
<input type="text" id="text2"><br>
<input type="button" value="拓展" onclick="fn1()">
<input type="button" value="调用" onclick="fn2()">
<script>
var obj = {};
function fn1() {//拓展:往空对象中拓展新方法(方法名+实现语句)
var funName = document.getElementById("text").value;//获取文本框text1中输入的函数名
var funCon = document.getElementById("text2").value;//获取文本框text2中输入的函数实现语句
obj[funName] = function() {//为对象添加的方法=文本框中输入的方法
// console.log(typeof(funCon), funCon);
eval(funCon);
};
}
function fn2() {//调用:调用这个新对象
var funName = document.getElementById("text").value;
obj[funName].call();//hello
console.log(obj);//say:f(){}
}
</script>