function a(){
alert("fun a()");
}
function b(){
alert("fun b()");
}
var methodName = "";
//method1
methodName = "a";
function method1(methodName){
//初始化this.func属性,
this.func = function(){};
try{
//这里用eval方法,把我们传进来的这个方法名所代表的方法当作一个对象来赋值给method1的func属性。
//如果找不到methodName这个对应的对象,则eval方法会抛异常
this.func = eval(methodName);
}catch(e){
alert(methodName+"()不存在!");
}
}
var c = new m(methodName);
c.func();
/**
* method2, 比较简洁
*/
methodName = "b";
function method2(methodName){
this.func = new Function(methodName+"();");
}
var c = new m(methodName);
try{
c.func();
}catch(e){
Ext.Msg.alert(methodName+"()不存在!");
}
分享到:
相关推荐
在给定的文件信息中,使用了两种不同的方法来实现根据变量保存方法名并执行方法的功能,即使用了`eval`方法和`new Function`方法。 1. `eval`方法: `eval()` 函数可执行一个字符串表达式,并返回表达式的值。尽管`...
在JavaScript编程中,有时会遇到需要根据函数名的字符串形式来动态执行对应函数的场景。这类技术能够提供一种灵活的方式来执行代码,尤其在进行插件化开发、事件驱动编程或实现钩子函数时非常有用。为了实现这一功能...
JavaScript中的变量是编程中一个非常基本且重要的概念,它存储各种数据类型的值,是程序中用于存储数据的容器。变量作用域的定义决定了变量可以被访问的区域,对于理解变量在不同上下文中的访问权限非常重要。 首先...
在JavaScript,特别是Unity3D环境中,静态变量...在text1.js和text2.js的例子中,`flag`变量作为一个通信的桥梁,允许两个脚本根据其值来协调行为。理解并有效利用静态变量是提升Unity3D脚本效率和协同工作的重要技巧。
**Node.js-Cerebro变量名搜索插件项目灵感来源于codelf** 在编程世界里,为变量选择合适的命名是一项至关重要的任务。它不仅影响代码的可读性和可维护性,还直接关系到开发效率。"Node.js-Cerebro变量名搜索插件...
在多页面应用中,每个页面都有自己的JavaScript执行环境,因此全局变量不会在不同页面之间共享。但是,在单页面应用(SPA)中,由于页面没有完全刷新,全局变量会保持其值,从而可能导致意外的数据共享。例如,如果...
第一个例子是通过数组存储闭包,然后遍历数组执行闭包,观察闭包对变量的引用情况。第二个例子是通过绑定事件处理器的方式,来观察在循环中创建的闭包是如何引用变量的。在这两个例子中,我们都可以发现一个共同的...
JavaScript是弱类型语言,变量可以存储不同数据类型,包括Number、String、Boolean、Object、Function,以及特殊的数据类型Null和Undefined。基本数据类型是不可变的,而引用数据类型(如对象和函数)是可变的,它们...
具体来说,这些函数都是在某种触发事件(如点击事件)之后执行,通过创建一个临时的弹出窗口(使用window.open方法)并在该窗口中执行保存操作(使用document.execCommand("SaveAs")命令)。该方法依赖于浏览器支持...
变量在JS中用`var`、`let`或`const`声明,它们可以存储各种数据类型,如字符串、数字、布尔值等。 2. **AJAX(Asynchronous JavaScript and XML)**:AJAX并非一种单独的技术,而是一种利用JavaScript异步通信的...
在JavaScript编程中,变量名的选择是一项重要的工作,它直接影响到代码的可读性和执行效果。在上述问题中,出现的困惑在于使用`name`作为变量名导致了预期之外的行为。让我们详细探讨这个问题。 首先,`name`在...
在 JavaScript 中,每个执行环境都有一个 Variable Object,用于存储变量和函数。函数体中可以使用全局变量、函数嵌套定义时情况更复杂点。这些情况下怎样处理?JavaScript 引擎将不同执行位置上的 Variable Object ...
在网页开发中,实现跨页面保存变量并根据这些变量动态调整菜单展示是一项常见的需求。这篇文章主要探讨了一种利用JavaScript来解决这一问题的方法,特别适用于那些不使用框架或iframe,而是通过包含文件(如ASP的...
在这个示例中,`Stud`类的静态变量`sum`和`num`用于存储所有学生的总分和人数,`setdata()`方法用于累加分数和计数,`avg()`方法计算平均分,而`disp()`方法用于输出学生信息。`TestStud`类的`main()`方法创建了N个...
// 使用临时变量保存a的值 a = b; // 将b的值赋给a b = temp; // 将保存在临时变量中的a的值赋给b ``` 这种方法简单直接,适用于交换基本数据类型的变量。然而,如果遇到对象类型或者数组的变量交换时,可能会有更...
JavaScript中的变量存储涉及到两种主要的内存区域:栈内存和堆内存。栈内存主要用来存储基本数据类型,如string、number、null、undefined、boolean和ES6新增的symbol。这些类型的值直接存储在栈中,可以直接访问和...
在Java编程语言中,`static`关键字用于定义类级别的成员,包括变量和方法。这些成员并不依赖于类的实例,而是直接与类关联。以下是关于Java中如何使用`static`变量和方法的详细解释: 1. **静态变量(Static ...
因此,即使全局有一个名为`scope`的变量,但在`checkScope`函数内部,仍然会输出局部变量`scope`的值。 #### 四、闭包 1. **闭包的概念** - 闭包是指有权访问另一个函数作用域中的变量的函数。创建闭包最常见的...
当JavaScript代码存储在外部文件中并通过`<script src="file.js">`的方式引入时,这些文件也按照其在HTML文档中的位置顺序执行。这意味着即使JavaScript文件位于不同的位置,它们仍然遵循文档流的顺序执行。 **示例...