`

JavaScript方法重载两招

阅读更多

function a(a ,b){

	if(b == void 0){
	  alert(2)
	}else{

	  alert(1)
	}

}












<script type='text/javascript'>

function ABC()
{
    this.member = 1;
    this.method = Show;
}
function Show(a,b,c)
{
    this.member = 123;
    if(arguments.length==1)
        if(arguments[0].constructor == Number)
            Show1_int.apply(this, arguments);
        else if(arguments[0].constructor == Date)
            Show1_date.apply(this, arguments);
        else
            Show1_string.apply(this, arguments);
    if(arguments.length==2)
        if(arguments[0].constructor == Array)
            Show3.apply(this,arguments);
        else
            Show2.apply(this,arguments);
}
function Show1_int(a)
{
    alert('1 integer input parameter ' + a+ '  methode is called');
}
function Show1_string(a)
{
    alert('1 string input parameter ' + a+ '  methode is called');
}
function Show1_date(a)
{
    alert('1 date input parameter ' + a+ '  methode is called');
}

function Show2(a,b)
{
    alert('2 input parameter is transfer:\na:'+a+'\nb:'+b + '\nthe member is' + this.member);
}
// 演示引用方式传递
function Show3(a,b)
{
    arguments[0][0]=2;
    alert('2 input parameter is transfer:\na:'+a+'\nb:'+b + '\nthe member is' + this.member);
}
var o = new ABC();
var arr = new Array();
arr[0]=321;
o.method(arr[0],2);    // 值传递
alert(arr[0]);        // 原始值未改变
o.method(arr,2);    // 引用方式传递
alert(arr[0]);        // 方法调用时被方法修改
o.method(new Date());

</script>
分享到:
评论

相关推荐

    JavaScript方法和技巧大全

    这篇文章主要聚焦于JavaScript的一些基本方法和实用技巧,旨在帮助无论是初学者还是有一定经验的开发者提升JavaScript技能。 首先,创建JavaScript脚本块是通过`&lt;script&gt;`标签实现的,其中`language="JavaScript"`...

    TypeScript中的方法重载详解

    与JavaScript不同,JavaScript没有内置的方法重载机制,因为它的参数没有严格的类型约束,且可以动态地改变。 在JavaScript中,如果想要实现类似重载的功能,通常需要在函数内部检测参数的类型或数量,然后根据这些...

    修复网页javascript方法及代码

    这两种方式都能确保在IE浏览器中正确解析和执行JavaScript代码。 ##### 方法四:外部JavaScript文件 对于较大的项目,通常会将JavaScript代码放在单独的文件中,通过`&lt;script&gt;`标签引用这些文件。这不仅可以提高...

    JavaScript 的方法重载效果

    实现JavaScript中的方法重载,通常依赖于对`arguments`对象的检查。一种常见的方法是使用`typeof`操作符来检查参数的类型。例如: ```javascript function check() { if (typeof arguments[0] === 'string') { ...

    JavaScript函数重载操作实例浅析

    在面试中,面试官询问了关于JavaScript函数重载的实现方法,这表明在实际开发中,即使语言本身不支持,我们也可以通过某种方式来模拟函数重载的功能。面试者首先想到了使用arguments对象的length属性来判断实际传入...

    让 JavaScript 轻松支持函数重载 (Part 2 - 实现)

    本文介绍了一种实现JavaScript函数重载的方法,主要依赖于一个名为Overload的静态类。 首先,我们需要理解什么是函数重载以及在不同编程语言中是如何实现它的。举个例子,在C++或Java中,可以通过在同一个作用域内...

    添加JavaScript重载函数的辅助方法2

    add方法接受两个参数,第一个参数是函数本身,第二个参数是一个可选的类型数组,用于限制该重载函数所接受的参数类型。 4. KOverLoad.prototype.checkTypes方法: checkTypes方法用于验证实际传入参数的类型。该...

    cefsharp JavaScript调用C#方法并返回参数

    在JavaScript调用C#方法的过程中,主要涉及以下两个关键步骤: 1. 注册C#方法:为了让JavaScript能够访问C#的方法,我们需要在C#代码中注册这些方法。这通常通过实现`IRequestHandler`或`ILifeSpanHandler`等接口来...

    JavaScript 实现基础 ArrayList 功能

    下面将详细介绍如何使用JavaScript来实现基础的ArrayList功能,并探讨在没有参数重载(overload)的情况下如何处理方法的多样性。 首先,我们需要创建一个ArrayList类,这个类将包含添加、删除、查找、更新和遍历...

    JavaScript标准参考教程

    数组作为JavaScript中重要的数据结构,其章节详述了数组的定义、length属性、数组的空位处理以及ECMAScript 5中新增的数组方法(如map、forEach等),这些方法极大地增强了数组操作的灵活性和功能性。 函数章节讲解...

    Unity3D中JavaScript与C#对比

    在 JavaScript 中,方法可以隐型并且不可重载,除非方法声明中添加虚拟关键字。而在 C# 中,方法需要使用 override 关键字来重载。 类继承方面,JavaScript 和 C# 也有所不同。在 JavaScript 中,类继承可以使用 `...

    javascript技巧(javascript调用C#方法)个人学习笔记

    javascript技巧(javascript调用C#方法) 个人笔记

    layui数据表格重载实现往后台传参

    接着,我们需要在JavaScript中引入layui的table模块,并使用`table.render`方法来初始化表格。在初始化过程中,我们通过`url`属性指定了后端Servlet的地址,以便将前端操作的结果传到后端。`cols`属性定义了表格的列...

    javascript函数重载解决方案分享

    JS的函数定义可以指定形式参数名称,多多少少我们会以为js至少可以支持参数个数不同的方法重载,然而遗憾的是这仅仅是一个假象,js所有的参数都是以arguments传递过去的,这个参数类似于数组,在函数调用的时候,...

    javascript 直接调用OC 方法demo

    JavaScript 直接调用Objective-C(OC)方法的示例是一种跨平台通信技术,它允许JavaScript在Web应用中与原生iOS应用进行交互。这种技术通常用于混合开发,结合Web的便捷性和iOS原生功能的优点。以下将详细介绍如何...

    JavaScript重载函数实例剖析

    我们来简单用两种方式来”模拟”下重载函数。 2.根据参数的个数来判断 javascript的函数中有一个叫arguments的变量,是记录参数的一个数组,我们可以用这个来判断参数的个数,然后分别执行不同的内容,就是同一个...

    javascript调用delphi中的函数

    标题“javascript调用delphi中的函数”涉及到的技术领域是跨语言通信,具体是JavaScript与Delphi之间的交互。这种交互通常发生在Web应用程序与桌面应用程序的集成,或者在浏览器扩展和本地资源之间。以下是对这一...

    JavaScript文档

    这个文档可能会详细讲解对象的创建、属性和方法,以及数组的常用操作,如push、pop、shift、unshift、splice等。此外,还可能涉及对象的深拷贝、浅拷贝,以及数组的迭代和过滤等高级技巧。 综上所述,这些资源为...

Global site tag (gtag.js) - Google Analytics