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中valueOf与toString区别浅析
Mar 19 Javascript
jQuery循环动画与获取组件尺寸的方法
Feb 02 Javascript
基于JS设计12306登录页面
Dec 28 Javascript
Ajax和Comet技术总结
Feb 19 Javascript
jQuery日期范围选择器附源码下载
May 23 jQuery
JS实现微信摇一摇原理解析
Jul 22 Javascript
React中上传图片到七牛的示例代码
Oct 10 Javascript
使用ionic(选项卡栏tab) icon(图标) ionic上拉菜单(ActionSheet) 实现通讯录界面切换实例代码
Oct 20 Javascript
浅谈es6语法 (Proxy和Reflect的对比)
Oct 24 Javascript
vue2.0使用v-for循环制作多级嵌套菜单栏
Jun 25 Javascript
详解vue项目接入微信JSSDK的坑
Dec 14 Javascript
TypeScript魔法堂之枚举的超实用手册
Oct 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中路径问题的解决方案
2006/10/09 PHP
php数组函数序列之next() - 移动数组内部指针到下一个元素的位置,并返回该元素值
2011/10/31 PHP
jquery animate 动画效果使用说明
2009/11/04 Javascript
js动态为代码着色显示行号
2013/05/29 Javascript
Jquery性能优化详解
2014/05/15 Javascript
javascript event在FF和IE的兼容传参心得(绝对好用)
2014/07/10 Javascript
jQuery里filter()函数与find()函数用法分析
2015/06/24 Javascript
javascript基于原型链的继承及call和apply函数用法分析
2016/12/15 Javascript
vue2.X组件学习心得(新手必看篇)
2017/07/05 Javascript
详解jQuery中关于Ajax的几个常用的函数
2017/07/17 jQuery
vue-router 导航钩子的具体使用方法
2017/08/31 Javascript
Angularjs之如何在跨域请求中传输Cookie的方法
2018/06/01 Javascript
H5+C3+JS实现五子棋游戏(AI篇)
2020/05/28 Javascript
全面解析JavaScript Module模式
2020/07/24 Javascript
NodeJS模块Buffer原理及使用方法解析
2020/11/11 NodeJs
[49:40]2018DOTA2亚洲邀请赛小组赛 A组加赛 TNC vs Newbee
2018/04/03 DOTA
[02:58]魔廷新尊——痛苦女王至宝语音台词节选
2020/06/14 DOTA
详解Python中的__init__和__new__
2014/03/12 Python
Python基于回溯法子集树模板解决0-1背包问题实例
2017/09/02 Python
Python中用post、get方式提交数据的方法示例
2017/09/22 Python
OpenCV-Python实现轮廓检测实例分析
2018/01/05 Python
Flask配置Cors跨域的实现
2019/07/12 Python
python标准库sys和OS的函数使用方法与实例详解
2020/02/12 Python
python3+opencv生成不规则黑白mask实例
2020/02/19 Python
浅谈在django中使用filter()(即对QuerySet操作)时踩的坑
2020/03/31 Python
使用Pycharm(Python工具)新建项目及创建Python文件的教程
2020/04/26 Python
CSS3 优势以及网页设计师如何使用CSS3技术
2009/07/29 HTML / CSS
CSS3动画animation实现云彩向左滚动
2014/05/09 HTML / CSS
Linux文件系统类型
2012/09/16 面试题
教师党的群众路线教育实践活动个人整改方案
2014/10/31 职场文书
病危通知书样本
2015/04/17 职场文书
社区党员干部承诺书
2015/05/04 职场文书
干货:如何写好工作总结报告!
2019/05/10 职场文书
浅谈spring boot使用thymeleaf版本的问题
2021/08/04 Java/Android
Python的property属性详细讲解
2022/04/11 Python
python如何利用cv2.rectangle()绘制矩形框
2022/12/24 Python