javascript学习笔记(七) js函数介绍


Posted in Javascript onJune 19, 2012

1.函数内部属性 arguments
arguments用来保存函数的参数,arguments.callee指向拥有arguments对象的函数

//阶乘 
function factorial(num) { 
if (num <= 1) { 
return 1; 
} else { 
return num*arguments.callee(num-1); //用agreements.callee代替 
} 
} var trueFactorial = factorial; 
factorial = function { 
return 0; 
} 
alert(trueFactorial(5)); //20 
alert(factorial(5)); //0

2.函数的属性和方法
length属性,表示函数参数的个数

3. apply()和call()方法
apply()和call()方法的作用是传递参数或扩充函数的作用域

//传递参数 
function sum(num1,num2) { 
return num1+num2; 
} 
function callSum(num1,num2) { 
return sum.call(this,num1,num2); //第一个参数this,后面列举所有参数 
} 
alert(callSum(10,10)); //20 function calSum1(num1,num2) { 
return sum.apply(this,arguments); //第一个参数this,第二个参数arguments 
} 
function calSum2(num1,num2) { 
return sum.apply(this,[num1,num2]); //第一个参数this,第二个参数是参数数组 
} 
alert(callSum1(10,10)); //20 
alert(callSum2(10,10)); //20

//改变函数作用域 
window.color = "red"; 
var o = { color:"blue"}; 
function sayColor() { 
alert(this.color); 
} 
sayColor(); //red 
sayColor.call(this); //red 
sayColor.call(window);//red 
sayColor.call(o); //blue
Javascript 相关文章推荐
JavaScript中的Window窗口对象
Jan 16 Javascript
jquery选择器、属性设置用法经验总结
Sep 08 Javascript
判断浏览器的内核及版本号方法汇总
Jan 05 Javascript
在for循环中length值是否需要缓存
Jul 27 Javascript
js下拉选择框与输入框联动实现添加选中值到输入框的方法
Aug 17 Javascript
基于jQuery的AJAX和JSON实现纯html数据模板
Aug 09 Javascript
Vue.js每天必学之过滤器与自定义过滤器
Sep 07 Javascript
bootstrapValidator bootstrap-select验证不可用的解决办法
Jan 11 Javascript
ionic2屏幕适配实现适配手机、平板等设备的示例代码
Aug 11 Javascript
vue实现提示保存后退出的方法
Mar 15 Javascript
Hexo已经看腻了,来手把手教你使用VuePress搭建个人博客
Apr 26 Javascript
Vue中util的工具函数实例详解
Jul 08 Javascript
javascript学习笔记(六) Date 日期类型
Jun 19 #Javascript
javascript学习笔记(五) Array 数组类型介绍
Jun 19 #Javascript
javascript学习笔记(四) Number 数字类型
Jun 19 #Javascript
javascript学习笔记(三) String 字符串类型介绍
Jun 19 #Javascript
javascript学习笔记(二) js一些基本概念
Jun 18 #Javascript
javascript学习笔记(一) 在html中使用javascript
Jun 18 #Javascript
到处都是jQuery选择器的年代 不了解它们的性能,行吗
Jun 18 #Javascript
You might like
PHP中for与foreach的区别分析
2011/03/09 PHP
php输出1000以内质数(素数)示例
2014/02/16 PHP
php通过会话控制实现身份验证实例
2016/10/18 PHP
PHP abstract 抽象类定义与用法示例
2018/05/29 PHP
laravel Model 执行事务的实现
2019/10/10 PHP
php7性能提升的原因详解
2019/10/13 PHP
用jscript实现列出安装的软件列表
2007/06/18 Javascript
常用一些Javascript判断函数
2012/08/14 Javascript
jQuery学习笔记 操作jQuery对象 属性处理
2012/09/19 Javascript
php实例分享之实现显示网站运行时间
2014/05/20 Javascript
Javascript中For In语句用法实例
2015/05/14 Javascript
JavaScript实现把数字转换成中文
2015/06/29 Javascript
深入理解JavaScript 函数
2016/06/06 Javascript
JavaScript实现in-place思想的快速排序方法
2016/08/07 Javascript
AngularJS $http模块POST请求实现
2017/04/08 Javascript
angular.extend方法的具体使用
2017/09/14 Javascript
基于vue实现可搜索下拉框定制组件
2020/03/26 Javascript
Vuex的基本概念、项目搭建以及入坑点
2018/11/04 Javascript
Vue组件通信的几种实现方法
2019/04/25 Javascript
原生js实现each方法实例代码详解
2019/05/27 Javascript
js回调函数仿360开机
2019/12/26 Javascript
JavaScript 防抖和节流遇见的奇怪问题及解决
2020/11/20 Javascript
Python转换HTML到Text纯文本的方法
2015/01/15 Python
python复制与引用用法分析
2015/04/08 Python
python 读取excel文件生成sql文件实例详解
2017/05/12 Python
pytorch梯度剪裁方式
2020/02/04 Python
UGG澳洲官网:UGG Australia
2018/04/26 全球购物
经济实惠的豪华家具:My-Furniture
2019/03/12 全球购物
教师节倡议书
2014/08/30 职场文书
委托书如何写
2014/08/30 职场文书
优秀三好学生事迹材料
2014/08/31 职场文书
中学生旷课检讨书2篇
2014/10/09 职场文书
部队2015年终工作总结
2015/04/02 职场文书
MongoDB balancer的使用详解
2021/04/30 MongoDB
ORM模型框架操作mysql数据库的方法
2021/07/25 MySQL
MySQL修炼之联结与集合浅析
2021/10/05 MySQL