`
hi_app
  • 浏览: 77628 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

javascript方法重载

阅读更多
<script>
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中的方法重载实例,本文直接给出重载实例,需要的朋友可以参考下

    TypeScript中的方法重载详解

    JavaScript 作为动态语言, 是没有重载这一说的。一是它的参数没有类型的区分,二是对参数个数也没有检查。虽然语言层面无法自动进行重载,但借助其动态的特性,我们可以在代码中手动检查入参的类型,或者通过 ...

    JavaScript重载函数实例剖析_.docx

    JavaScript重载函数实例剖析_.docx

    JavaScript函数重载操作实例浅析

    主要介绍了JavaScript函数重载操作,结合一次面试经历分析了JavaScript函数重载相关原理、用法及操作注意事项,需要的朋友可以参考下

    Javascript基础 函数“重载” 详细介绍

    所以Javascript是不能像其他语言一样实现方法名相同,参数个数不同…的这类重载的,不信你可以试试: 代码如下: function show(){ alert&#40;“1”&#41;; } function show(num1){ alert&#40;num1&#41;; } ...

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

    JavaScript的重载函数,一般是靠对arguments判断来操作的。 比如: 代码如下: var afunc = function() { args = arguments; if(args.length == 1) { console.log(1); }else if(args.length == 2) { console.log(2); ...

    patterns.js:探索 JavaScript 的最佳实践和编码风格指南

    让我建立这个 repo 的最初点是一个简单的已知模式: ##JavaScript 方法重载这个问题我已经遇到过好几次了,在实践中,我以几种不同的方式回答了这个问题。 在了解可能的模式之前,让我们从以下代码片段开始: /** ...

    Java方法继承、方法重载、方法覆盖小结.doc

    Java方法继承、方法重载、方法覆盖小结.doc

    javascript中通过arguments参数伪装方法重载

    而javascript没有方法重载这个概念。但是我们可以通过arguments这个参数来伪装成函数的重载 在模拟之前我们先看一下代码: 代码如下: //表面上没有声明形式参数的函数 function fun() { alert&#40;“示例代码”&#...

    javascript函数重载解决方案分享

    JS的函数定义可以指定形式参数名称,多多少少我们会以为js至少可以支持参数个数...办法总是有的,我们可以利用JavaScript中的特殊对象arguments来模拟函数重载。用它来判断传入参数的个数或类型以区分重载。 1.根据参数

    Javascript实现运算符重载详解

    本文给大家汇总介绍了Javascript实现运算符重载的方法,实现的思路很简单,有需要的小伙伴可以来看看

    JavaScript重载函数实例剖析

    1.javascript 中是没有重载函数这个概念的! 首先javascript是没有重载函数这个概念的,很久以前,我用javascript做网页的时候,写一些简单的效果,根本不需要用到重载函数,当写游戏的时候,有大量的函数的时候,就...

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

    在上一篇文章里,我们设计了一套能在JavaScript中描述函数重载的方法,这套方法依赖于一个叫做Overload的静态类,现在我们就来看看如何实现这个静态类。

    让JavaScript 轻松支持函数重载 (Part 1 – 设计)

    JavaScript支持重载吗? JavaScript支持函数重载吗?可以说不支持,也可以说支持。说不支持,是因为JavaScript不能好像其它原生支持函数重载的语言一样,直接写多个同名函数,让编译器来判断某个调用对应的是哪一个...

Global site tag (gtag.js) - Google Analytics