javascript中可以对传进去的参数进行修改,如下
function func1(name) {
name = 33;
alert(name);
}
func1();//输出33
如果这样呢?
function fun1() {
this.name = 33;
}
function fun2(name) {
fun1.call(this,name);
alert(name);
}
fun2("Jack");//输出"Jack"
fun2中调用fun1将name改变为33。但实际上输出的仍然是"Jack".原因是两个function的arguments是不同的。
但是可以修改下fun1,利用caller属性改变
function fun1() {
arguments.callee.caller.arguments[0] = 33;
}
function fun2(name) {
fun1.call(this,name);
alert(name);
}
fun2("Jack");//输出"33"
这次输出的是33。所以外层的函数(fun2)对于内部调用的函数(fun1)来说,总是可见的。可以利用arguments.callee.caller取得调用函数。
分享到:
- 2008-11-28 14:50
- 浏览 4122
- 评论(6)
- 论坛回复 / 浏览 (4 / 3453)
- 查看更多
相关推荐
本文将深入探讨Javascript中动态方法调用与参数修改涉及的知识点,帮助读者更好地理解这些高级特性。 首先,Javascript中的函数是一等公民,这意味着函数可以作为参数传递给其他函数,可以从其他函数返回,也可以...
根据给定的信息,本文将详细解释“JS调用后台带参数的方法”。这涉及到前端JavaScript与后端服务之间的交互,特别是如何在发送请求时携带参数。 ### JS调用后台带参数的基本概念 在Web开发中,前端(通常是...
JavaScript 函数调用 JavaScript 函数有 4 种调用方式。 每种方式的不同方式在于 this 的初始化。 this 关键字 一般而言,在Javascript中,this指向函数执行时的当前对象。 Note 注意 this 是保留关键字,你不能...
使用javascript 中Ajax技术调用WebService,包括JSP和ASP.NET中两种,其中JSP的WebService使用了XFire框架。 ASP.NET中的WebService做了一个方法示例GetProgress,包含3个参数。 JSP中的WebService做了hello方法的...
【标题】与【描述】提到的主题是关于初学者如何快速掌握在JavaScript中调用Java方法,通过使用DWR(Direct Web Remoting)这一开源项目。DWR使得AJAX(Asynchronous JavaScript and XML)的应用变得简单易行,从而...
3. 对于`addJavascriptInterface`,从Android 4.2(API 17)开始,如果没有`@JavascriptInterface`注解,JavaScript调用Java方法会抛出异常。 四、性能优化 1. 使用`shouldInterceptRequest()`:此方法允许你在`...
- **从JavaScript调用ActionScript**:允许JavaScript访问Flash影片中的对象和方法,从而实现对Flash影片的控制。 #### 3. 实现方法 - **在Flash中调用JavaScript**:可以通过`getURL()`函数来实现。该函数主要...
- 调用`getQuery`方法并传入参数名`"userId"`。 - 如果URL中有`userId`参数,则返回其值;如果没有,则返回`null`。 #### 3. 实际应用场景 - **用户认证**:通过URL传递用户ID或令牌进行身份验证。 - **页面个性化...
本文主要讲解了在遇到需要操作Java对象的参数或返回值时,如何利用Frida这一动态代码插桩工具来进行反射调用,包括调用对象的方法和获取对象的字段。Frida是一个强大的动态代码插桩工具,它可以注入到几乎所有的进程...
4. **apply/call调用模式**:这两个方法允许我们改变函数的上下文(`this` 的值)和传入参数。`func.apply(context, argsArray)` 和 `func.call(context, arg1, arg2, ...)`, 其中 `context` 是 `this` 的值,`...
本文将深入探讨JavaScript调用本地程序的几种实现方式及其优缺点。 1. 自定义协议 自定义协议是一种常见的方法,它利用浏览器的注册表信息来创建一个特定的协议,如"MyFiles"。在注册表中,定义了一个名为"MyFiles...
在JavaScript编程中,动态添加表格数据行是一种常见的需求,特别是在构建交互式的Web应用程序时。这个功能允许用户在不刷新整个页面的情况下添加新的记录,提高了用户体验。在这个例子中,我们将探讨如何利用...
JavaScript动态网站开发是现代网页和应用开发的核心技术之一,它为...实践中遇到问题时,可以参考压缩包中的"JavaScript动态网站开发案例指导"文件,它们提供了详细的步骤和示例代码,助你更好地理解和应用所学知识。
7. **C++到JavaScript的数据传递**:C++可以通过`IWebBrowser2::ExecWB`或`IWebBrowser2::Navigate2`方法执行JavaScript代码,将数据作为参数传递。也可以设置`IWebBrowser2`的`Document`属性,间接修改HTML页面内容...
在这个“Finereport数据集参数实现动态列报表模板 + 函数JS代码”的资源包中,我们将深入探讨如何利用FineReport的特性来实现动态列报表,并结合JavaScript(JS)代码来优化这一过程。 首先,动态列报表的核心在于...
《Dialog对话框的调用与参数详解》 Dialog对话框是网页交互中常见的一种元素,用于展示信息、提示用户操作或者获取用户输入。在CS(客户端脚本)环境中,掌握Dialog的调用方法和参数设置至关重要,这直接影响到用户...
《Dialog调用方法及参数说明》 Dialog是网页中常用的一种对话框组件,它用于向用户展示信息或者进行交互操作。在CS(客户端脚本)环境中,Dialog的使用通常是通过JavaScript来实现的。本文将详细解析Dialog的调用...
这个接口定义了可供JavaScript调用的方法,且这些方法会在Android运行环境中执行。 二、JavaScript调用Android本地方法 1. addJavascriptInterface:这是WebView提供的一种方法,用于将Java对象暴露给JavaScript。...