<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重载函数实例剖析_.docx
主要介绍了JavaScript函数重载操作,结合一次面试经历分析了JavaScript函数重载相关原理、用法及操作注意事项,需要的朋友可以参考下
所以Javascript是不能像其他语言一样实现方法名相同,参数个数不同…的这类重载的,不信你可以试试: 代码如下: function show(){ alert(“1”); } function show(num1){ alert(num1); } ...
JavaScript的重载函数,一般是靠对arguments判断来操作的。 比如: 代码如下: var afunc = function() { args = arguments; if(args.length == 1) { console.log(1); }else if(args.length == 2) { console.log(2); ...
让我建立这个 repo 的最初点是一个简单的已知模式: ##JavaScript 方法重载这个问题我已经遇到过好几次了,在实践中,我以几种不同的方式回答了这个问题。 在了解可能的模式之前,让我们从以下代码片段开始: /** ...
Java方法继承、方法重载、方法覆盖小结.doc
而javascript没有方法重载这个概念。但是我们可以通过arguments这个参数来伪装成函数的重载 在模拟之前我们先看一下代码: 代码如下: //表面上没有声明形式参数的函数 function fun() { alert(“示例代码”&#...
JS的函数定义可以指定形式参数名称,多多少少我们会以为js至少可以支持参数个数...办法总是有的,我们可以利用JavaScript中的特殊对象arguments来模拟函数重载。用它来判断传入参数的个数或类型以区分重载。 1.根据参数
本文给大家汇总介绍了Javascript实现运算符重载的方法,实现的思路很简单,有需要的小伙伴可以来看看
1.javascript 中是没有重载函数这个概念的! 首先javascript是没有重载函数这个概念的,很久以前,我用javascript做网页的时候,写一些简单的效果,根本不需要用到重载函数,当写游戏的时候,有大量的函数的时候,就...
在上一篇文章里,我们设计了一套能在JavaScript中描述函数重载的方法,这套方法依赖于一个叫做Overload的静态类,现在我们就来看看如何实现这个静态类。
JavaScript支持重载吗? JavaScript支持函数重载吗?可以说不支持,也可以说支持。说不支持,是因为JavaScript不能好像其它原生支持函数重载的语言一样,直接写多个同名函数,让编译器来判断某个调用对应的是哪一个...