js函数(2)
8.3函数的形参和实参
js中的函数并未指定函数形参的类型,函数调用也未对传入的实参值做任何类型的检查。
8.3.1函数的形参和实参
当调用函数时传入的实参比函数声明时指定的形参个数要少,剩下的参数都将设置为undefined; { a=a|| [] 考虑 || 运算符 即当第一个参数为真的话就返回第一个,否则返回第二个参数 }
8.3.2可变长的实参列表:实参对象:
适用于 传入的参数个数超过了函数定义时的形参个数时,没有办法直接获得未命名值的引用,参数对象解决了这个问题。
在函数体内,标识符arguments是指向实参对象的引用。实参对象是一个类数组的对象,所以可以通过下标访问传入函数的实参值 arguments[0].
注意,arguments不是真正的数组,只是一个实参对象。每个实参对象都包含以数字为索引的一组元素以及length属性。
实参对象定义了callee和caller属性。在严格模式下,对这两种属性进行读写都会产生错误。而在非严格模式下规定:
callee属性指代当前正在执行的函数,caller指代调用当前正在执行的函数的函数var fa=function (x) { if (x<=1){return 1; return x*arguments.callee(i-1);
};
8.3.3将对象属性用作实参
为了便于记住调用函数中实参的正确顺序,所以通过名/值对的形式传入参数。
copy({from:a,to:b,length:4}); 8.4作为值的函数
1将函数名赋值给变量,则变量名就相当于函数名
2将函数赋值给对象的属性,当函数作为对象的属性调用时,函数就称为方法;
var o={ squer:function(x){x*x}};
var y=o.squer(16);
3当吧它们赋值给数组元素时,函数甚至不需要带名字
var a=[function(x){x*x;},20];
a【0】(a【1】);
js函数(2)的更多相关文章
- 3.3 js函数
1.函数语法: 函数声明的方式:function 函数名(参数1,参数2-){//函数体;}函数调用:函数名(参数1,参数2-); 函数内不一定都指定返回值. 如果需要指定返回值,可用 return ...
- Js函数function基础理解
正文:我们知道,在js中,函数实际上是一个对象,每个函数都是Function类型的实例,并且都与其他引用类型一样具有属性和方法.因此,函数名实际上是指向函数对象的指针,不与某个函数绑定.在常见的两种定 ...
- js函数表达式和函数声明的区别
我们已经知道,在任意代码片段外部添加包装函数,可以将内部的变量和函数定义"隐 藏"起来,外部作用域无法访问包装函数内部的任何内容. 例如: var a = 2; function ...
- 通用js函数集锦<来源于网络> 【二】
通用js函数集锦<来源于网络> [二] 1.数组方法集2.cookie方法集3.url方法集4.正则表达式方法集5.字符串方法集6.加密方法集7.日期方法集8.浏览器检测方法集9.json ...
- 通用js函数集锦<来源于网络/自己> 【一】
通用js函数集锦<来源于网络/自己>[一] 1.返回一个全地址2.cookie3.验证用户浏览器是否是微信浏览器4.验证用户浏览器是否是微博内置浏览器5.query string6.验证用 ...
- 100多个基础常用JS函数和语法集合大全
网站特效离不开脚本,javascript是最常用的脚本语言,我们归纳一下常用的基础函数和语法: 1.输出语句:document.write(""); 2.JS中的注释为//3.传统 ...
- JS函数
1.document.write(""); 输出语句2.JS中的注释为//3.传统的HTML文档顺序是:document->html->(head,body)4.一个浏 ...
- js函数和运算符
函数是由事件驱动或者它被调用时执行可重复使用的代码块. <script> function myFunction(){ Alert(“hello World!”): } </scri ...
- JavaScript学习03 JS函数
JavaScript学习03 JS函数 函数就是包裹在花括号中的代码块,前面使用了关键词function: function functionName() { 这里是要执行的代码 } 函数参数 函数的 ...
- JSF页面中使用js函数回调后台bean方法并获取返回值的方法
由于primefaces在国内使用的并不是太多,因此,国内对jsf做系统.详细的介绍的资料很少,即使有一些资料,也仅仅是对国外资料的简单翻译或者是仅仅讲表面现象(皮毛而已),它们的语句甚至还是错误的, ...
随机推荐
- Spring Cloud Gateway(二):Spring Cloud Gateway整合Eureka应用
Spring Cloud Gateway 应用概述 下面的示例启动两个服务:gataway-server 和 user-service 都注册到注册中心 Eureka上,客户端请求后端服务[user- ...
- redis几种模式的部署(Windows下实现)
<参考>http://www.cnblogs.com/ruiati/p/6374152.html 1. 自行下载redis客户端.redis官方不支持Windows系统,所以官网上是下 ...
- flask 中扩展 flask-login
- pwn学习日记Day13 《程序员的自我修养》读书笔记
重定位就是把程序的逻辑地址空间变换成内存中的实际物理地址空间的过程.它是实现多道程序在内存中同时运行的基础.重定位有两种,分别是动态重定位与静态重定位. 静态重定位:即在程序装入内存的过程中完成,是指 ...
- python3 django项目从项目中导出依赖包
1. 在项目的根目录中使用mac终端执行命令, pip3 freeze > requirements.txt #requirements.txt只是个名字可以随便起,一般默认为requireme ...
- 安装vue模板时,选择webpack-simple还是Webpack?
选用模板常用的是webpack与webpack-simple.webpack-simple是基于Webpack@2.1.0-beta.25进行配置的版本,而webpack模板则是基于Webpack ^ ...
- 整理了一份比较全面的PHP开发编码规范.
这些年来多从事Linux下PHP和C相关的开发,带过很多项目和团队,下面是根据经验整理的PHP编码规范,可以用作给大家的范例和参考,根据需要进行取舍和修改! (可能最新的一些php5的规范不够完整,今 ...
- RTM of ML.NET
Announcing ML.NET 1.0
- 停止monkey的方法
注意 Monkey启动后会不断地向被测对象发送随机事件流,直到事件执行完毕或者发生异常时才停止.在Monkey运行过程中,即便断开 与PC的连接,Monkey依然可以在手机上继续运行. 停止Monke ...
- eclipse、MyEclipse 修改字符集和JDK
eclipse 中UTF-8设置 1.windows->Preferences 打开"首选项"对话框: 2.然后,general->Workspace,右 侧Tex ...