<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
/*
*1.js 中不存在函数的重载
2.js函数定义时候的形參个数,和运行时候时。传递的实參的个数能够不一样。
3.js运行时候。会将真实的參数,封装成组arguments */
function add(a){
return a+10;
}
var add=new Function("a","return a+10");
//alert(add(5));
function add(num1,num2){
return num1+num2;
}
var add=new Function("num1","num2","return num1+num2");
alert(add(5,6));
alert(add(5));//这样调用的结果是NaN:由于调用的时后定义的两个參数的函数
//也就是尽管有var的声明。可是javascript中仅仅要变量名称同样。后定义的就会覆盖
//之前定义的=======得出的结论就是js中不存在函数的重载。 //-------------------用arguments对象模拟方法的重载-----
//-根据不同的參数个数。调用不同的代码块。最多25个參数
function addNum(){
alert(arguments.length);
for(var x=0;x<arguments.length;x++){
alert(arguments[x]);
//这个对象仅仅能爱函数体内
}
if(arguments.length==1){
return arguments[0]+10;
}else if(arguments.length==2){
return arguments[0]+arguments[1];
}else{
return "參数错误。请核对";
}
}
var value=addNum(10,20,30);
alert("函数的返回值:"+value);//结果value的值就是:"參数错误,请核对"
//其实,是通过參数的推断。去实现调用不同的函数功能,而且返回不同的值;这样做相似的实现了java中的重载
//可是本质上,js中是没有重载的,同样的变量,在不同的位置出现。若赋值后。必定会覆盖前面声明的变量。当然
//这里面排除掉函数内部的量和函数外部变量的这一种关系。 </script>
</head>
<body> </body>
</html>

JavaScript中通过arguments对象实现对象的重载的更多相关文章

  1. 前端学习 第二弹: JavaScript中的一些函数与对象(1)

    前端学习 第二弹: JavaScript中的一些函数与对象(1) 1.apply与call函数 每个函数都包含两个非继承而来的方法:apply()和call(). 他们的用途相同,都是在特定的作用域中 ...

  2. 透过一道面试题来探探JavaScript中执行上下文和变量对象的底

    在做面试题之前,我们先搞清楚两个概念 执行上下文(execution context) 变量对象(variable object) 执行上下文 我们都知道JavaScript的作用域一共分三种 全局作 ...

  3. 【拾遗】理解Javascript中的Arguments

    前言 最近在看JavaScript相关的知识点,看到了老外的一本Javascript For Web Developers,遇到了一个知识盲点,觉得老外写的很明白很透彻,记录下来加深印象,下面是我摘出 ...

  4. 你知道 JavaScript 中的 Arguments 对象都有哪些用途吗?

    JavaScript 中 Arguments 对象的用途总结. 前言 相信我们很多人在代码开发的过程中都使用到过一个特殊的对象 -- Arguments 对象. 在实际开发中,Arguments 对象 ...

  5. Javascript 中的this 指向的对象,你搞清楚了吗?

    Javascript 中的this 总让人感到困惑,你能分清以下三种test1(),test2(),test3() 情况下的输出吗? 注:以下Javascript运行环境中为浏览器 //1 this在 ...

  6. ES6新特性:Javascript中的Map和WeakMap对象

    Map对象 Map对象是一种有对应 键/值 对的对象, JS的Object也是 键/值 对的对象 : ES6中Map相对于Object对象有几个区别: 1:Object对象有原型, 也就是说他有默认的 ...

  7. Javascript中的函数(Function)与对象(Object)的关系

    今天我们来尝试理解Function和Object.因为这个里面有些人前期可能会搞糊涂.他们之间到底是什么关系.当然也不除外当初的我. 注意:官方定义: 在Javascript中,每一个函数实际上都是一 ...

  8. JavaScript中的this的指代对象详解

    在javascript里面,this是一个特殊的对象,它不像其他编程语言那样,是存储在实例中的值,直接指向此实例. 而是作为一个单独的指针,在不同的情况之下,指向不同的位置,这也是为什么我们会将它搞混 ...

  9. sort方法实际应用详解---javascript中对一个对象数组按照对象某个属性进行排序

    转载: 查看原文 在javascript中,对象和数组是两种不同的类型,这和php中的数组概念不同.在javascript中,也有一些精妙的算法,用来对一些对象进行排序.我在面试迅雷的时候,也拿到一道 ...

随机推荐

  1. struts1的配置文件详解

    要想使用Struts,至少要依靠两个配置文件:web.xml和struts-config.xml.其中web.xml用来安装Struts框架.而struts-config.xml用来配置在Struts ...

  2. Jquery 网页转换为图片

    /* html2canvas 0.5.0-alpha1 <http://html2canvas.hertzen.com> Copyright (c) 2015 Niklas von Her ...

  3. thinkphp3.2 判断星期几

    后台 $w=date('w'); $week=array( "=>"星期日", "=>"星期一", "=>&qu ...

  4. <转>特征工程(一)

    转自http://blog.csdn.net/han_xiaoyang/article/details/50481967 1. 引言 再过一个月就是春节,相信有很多码农就要准备欢天喜地地回家过(xia ...

  5. 【python】解决No module named _sqlite3的问题

    环境版本说明: centos 7 python3.6.4 django 2.0 在创建django项目时候.报错以下信息 详细错误信息如下: 原因: 未安装sqlite 模块 解决: 1 安装 sql ...

  6. 【Spring源码分析系列】结构组成和容器的基本实现

    beans包的层级结构 src/main/java:用于展现Spring的主要逻辑 src/main/resources:用于存放系统的配置文件 src/test/java:用于对主要逻辑单元进行测试 ...

  7. Xcode debug时如何查看内存中的数据

    对于IPhone开发/XCode的初学者,如何在调试时查看变量的值是很头痛的事情.因为Xcode的expression 经常无法正确显示变量的值.但是强大的GDB可以很方便的帮我们查看变量的值.   ...

  8. ubuntu14.04 LTS Shutter配置快捷键

    一 shutter设置后的截图 二 shutter配置快捷键 可通过 $shutter --help 查看命令 点击 “应用”按钮,然后:

  9. filter对数组和对象的过滤

    1,对数组的过滤 let arr = ['1', '2', '3'] let b = arr.filter(val => val === '2') console.log(b) // ['2] ...

  10. 【黑金原创教程】【FPGA那些事儿-驱动篇I 】实验九:PS/2模块③ — 键盘与多组合键

    实验九:PS/2模块③ — 键盘与多组合键 笔者曾经说过,通码除了单字节以外,也有双字节通码,而且双字节通码都是 8’hE0开头,别名又是 E0按键.常见的的E0按键有,<↑>,<↓ ...