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 动态添加表格行
Jun 22 Javascript
javascript实现仿银行密码输入框效果的代码
Dec 13 Javascript
JavaScript 利用StringBuffer类提升+=拼接字符串效率
Nov 24 Javascript
根据json字符串生成Html的一种方式
Jan 09 Javascript
JS表的模拟方法
Feb 05 Javascript
jQuery实现带分组数据的Table表头排序实例分析
Nov 24 Javascript
javascript history对象详解
Feb 09 Javascript
微信小程序删除处理详解
Aug 16 Javascript
vue-router实现编程式导航的代码实例
Jan 19 Javascript
vue的keep-alive中使用EventBus的方法
Apr 23 Javascript
微信网页登录逻辑与实现方法
Apr 29 Javascript
原生js实现弹幕效果
Nov 29 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 XML操作类DOMDocument
2009/12/16 PHP
php file_get_contents函数轻松采集html数据
2010/04/22 PHP
php操作(删除,提取,增加)zip文件方法详解
2015/03/12 PHP
PHP获取文件夹内文件数的方法
2015/03/12 PHP
PHP生成plist数据的方法
2015/06/16 PHP
thinkphp微信开之安全模式消息加密解密不成功的解决办法
2015/12/02 PHP
Yii列表定义与使用分页方法小结(3种方法)
2016/07/15 PHP
php中实现字符串翻转的方法
2017/02/22 PHP
RSA实现JS前端加密与PHP后端解密功能示例
2019/08/05 PHP
让插入到 innerHTML 中的 script 跑起来的实现代码
2006/07/01 Javascript
Javascript对象中关于setTimeout和setInterval的this介绍
2012/07/21 Javascript
jquery乱码与contentType属性设置问题解决方案
2013/01/07 Javascript
完美解决AJAX跨域问题
2013/11/01 Javascript
在JS数组特定索引处指定位置插入元素的技巧
2014/08/24 Javascript
jquery validate和jquery form 插件组合实现验证表单后AJAX提交
2015/08/26 Javascript
js自定义回调函数
2015/12/13 Javascript
JavaScript setTimeout使用闭包功能实现定时打印数值
2015/12/18 Javascript
DIV随滚动条滚动而滚动的实现代码【推荐】
2016/04/12 Javascript
详解vue嵌套路由-params传递参数
2017/05/23 Javascript
JS基于正则实现数字千分位用逗号分隔的方法
2017/06/16 Javascript
vue2.0 资源文件assets和static的区别详解
2018/04/08 Javascript
vue-router重定向不刷新问题的解决
2018/06/25 Javascript
Vue中android4.4不兼容问题的解决方法
2018/09/04 Javascript
jenkins自动构建发布vue项目的方法步骤
2021/01/04 Vue.js
[06:30]DOTA2英雄梦之声_第15期_死亡先知
2014/06/21 DOTA
[42:11]TNC vs Pain 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
Php多进程实现代码
2018/05/07 Python
对python pandas读取剪贴板内容的方法详解
2019/01/24 Python
Python OpenCV之图片缩放的实现(cv2.resize)
2019/06/28 Python
python pycharm最新版本激活码(永久有效)附python安装教程
2020/09/18 Python
jenkins+python自动化测试持续集成教程
2020/05/12 Python
一款html5 canvas实现的图片玻璃碎片特效
2014/09/11 HTML / CSS
Mio Skincare中文官网:肌肤和身体护理
2016/10/26 全球购物
建筑文秘专业个人求职信范文
2013/12/28 职场文书
面试复试通知单
2015/04/24 职场文书
结婚典礼主持词
2015/06/29 职场文书