anguments
anguments是一个对象,长得很像数组的对象,但不是数组,而是伪数组。
arguments的内容是函数运行时的实参列表
(function(d, e, f) {
console.log(arguments); //["hello","world","!","aa"]
console.log(arguments[3]); //aa
})('hello', 'world', '!','aa');
传进匿名函数的参数只有前三个,实际上却能从arguments里获取到第四个。
----------------------------------------------------分割线----------------------------------------------------
arguments的特点:
1、传进函数的实参本来只能通过形参传递,但是js里可以通过arguments传递
2、如果实参个数比形参要多,arguments仍然可以获取到,并且可以修改形参的值,修改形参数值的时候,形参也是做相应变化的。变化是双向的。
3、有2个常用属性,length获取长度,callee获取当前所在函数
(function(d, e, f) {
console.log(arguments); //["hello","world","!","aa"]
arguments[0]='china';
console.log(d); //["chia","world","!","aa"]
e='s';
console.log(arguments); //["china","s","!","aa"]
var length=arguments.length;
console.log(length); //4
console.log(arguments.callee); //答案在下面 详见:答一
})('hello', 'world', '!','aa');
答一:
function (d, e, f) {
console.log(arguments);
arguments[0]='china';
console.log(d);
e='s';
console.log(arguments);
var length=arguments.length;
console.log(length);
console.log(arguments.callee);
}
----------------------------------------------------分割线----------------------------------------------------
使用callee计算1到n的和的函数
console.log((function(n){
if(n==1){
return 1;
}else{
return n+arguments.callee(n-1); //10+9+8+7+6+5+4+2+1=55
}
}(10)));
anguments的更多相关文章
- js中函数的一些理论知识
函数的一些理论知识 1. 函数: 执行一个明确的动作并提供一个返回值的独立代码块.同时函数也是javascript中的一级公民(就是函数和其它变量一样). 2.函数的 ...
- 第六十四天 JS基础操作
一.分支结构 1.if语句 if基础语句 if(条件表达式){ 代码块: } // 当条件表达式结果为true,会执行代码块:反之不执行 // 条件表达式可以为普通表达式 // 0.undefined ...
- Python-JS基础(基础结构~函数)
程序本质上分为三大结构: 顺序结构.分支结构.循环结构JavaScript中的程序结构也是这样,下面我们来分别介绍JS中的三种基本程序结构:我们上篇博客中介绍到的使用逻辑运算符&&实现 ...
- day51
JS基础操作 一.分支结构 1.if语句 if 基础语法 if (条件表达式) { 代码块; } // 当条件表达式结果为true,会执行代码块:反之不执行 // 条件表达式可以为普通表达式 // 0 ...
- JavaScript常用操作,常用类
算术运算符 重点关注 算数,赋值,逻辑运算符,三目运算符 <!DOCTYPE html> <html> <head> <meta charset=" ...
- 强悍的javascript手势库
/** * Toucher * git:https://github.com/cometwo/Toucher-1 */ "use strict"; (function (root, ...
- JavaScript 基础语法
1 谈谈 JavaScript JavaScript,通常会简称为'JS', 是一种浏览器脚本语言 1.1 JavaScript 编程语言特点 JavaScript是一种脚本编程语言 JavaScri ...
- javascript --- 构造器借用
接下来我们在看一种继承的实现.这需要再次利用构造器函数入手,这回不直接使用对象了.由于在这种继承模式中,子对象构造器可以通过call()和apply()方法来调用父对象的构造器.因而可以被称作构造器盗 ...
- 前端(十二)—— JavaScript基础操作:if语句、for循环、while循环、for...in、for...of、异常处理、函数、事件、JS选择器、JS操作页面样式
JavaScript基础操作 一.分支结构 1.if语句 if 基础语法 if (条件表达式) { 代码块; } // 当条件表达式结果为true,会执行代码块:反之不执行 // 条件表达式可以为普通 ...
随机推荐
- 【44】java大数值剖析
基本的整数和浮点型精度不能满足需求,那么可以使用java.math中的两个类:BigInteger和BigDecimal. BigInteger和BigDecimal介绍: 这两个类可以处理包含任意长 ...
- window7如何配置修改环境变量
http://jingyan.baidu.com/article/b24f6c82cba6dc86bfe5da9f.html
- 关于Block的使用和5点注意事项
一.概念 首先需要了解的是Block是一个代码块,是一个变量的形式存在的. 二.构成了解 我们需要在函数中声明block,因为是变量的形式,而且存在静态变量形式 类型1: NSString* (^b ...
- Django(二)如何在IIS中部署django项目
环境配置 windows7 Django 2.0 python 3.6 wfastcgi 3.0 关键步骤 打开CGI功能 控制面板/程序和功能/打开或关闭windwos功能,如图: 安装wfastc ...
- 讲解Oracle面试过程中常见的二十个问题
1.冷备份和热备份的不同点以及各自的优点 解答:热备份针对归档模式的数据库,在数据库仍旧处于工作状态时进行备份.而冷备份指在数据库关闭后,进行备份,适用于所有模式的数据库.热备份的优点在于当备 ...
- Effective Java 第三版——39. 注解优于命名模式
Tips <Effective Java, Third Edition>一书英文版已经出版,这本书的第二版想必很多人都读过,号称Java四大名著之一,不过第二版2009年出版,到现在已经将 ...
- springMVC中添加restful 风格
RESTful架构:是一种设计的风格,并不是标准,只是提供了一组设计原则和约束条件,也是目前比较流行的一种互联网软件架构.它结构清晰.符合标准.易于理解.扩展方便,所以正得到越来越多网站的采用. 关于 ...
- 基类包括字段“ScriptManager1”,但其类型(System.Web.UI.ScriptManager)与控件(System.Web.UI.ScriptManager)的类型不兼容
首先说下原先的情况,就是原本老项目的Web解决方案是使用.net framework 2.0的老版本, 所以机器也安装过Microsoft ASP.NET 2.0 AJAX Extensions..A ...
- maven jsp out.print()request.getParameter() 爆红
如图: 解决方案: 在pom文件中添加依赖: <!-- https://mvnrepository.com/artifact/javax.servlet.jsp/jsp-api -->&l ...
- 如何将代码提交到git上
http://blog.csdn.net/laozitianxia/article/details/50682100 这个博客介绍的很详细.