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 相关文章推荐
Document 对象的常用方法
Jul 31 Javascript
js跨域和ajax 跨域问题的实现思路
Sep 05 Javascript
用原生JS获取CLASS对象(很简单实用)
Oct 15 Javascript
JS模式之单例模式基本用法
Jun 30 Javascript
简单讲解AngularJS的Routing路由的定义与使用
Mar 05 Javascript
JavaScript的Vue.js库入门学习教程
May 23 Javascript
基于代数方程库Algebra.js解二元一次方程功能示例
Jun 09 Javascript
浅谈ajax在jquery中的请求和servlet中的响应
Jan 22 jQuery
jquery动态添加带有样式的HTML标签元素方法
Feb 24 jQuery
JavaScript 扩展运算符用法实例小结【基于ES6】
Jun 17 Javascript
解决layui调用自定义方法提示未定义的问题
Sep 14 Javascript
JS实现时间校验的代码
May 25 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 foreach、while性能比较
2009/10/15 PHP
支持中文、字母、数字的PHP验证码
2015/05/04 PHP
PHP使用SWOOLE扩展实现定时同步 MySQL 数据
2017/04/09 PHP
IE6,IE7下js动态加载图片不显示错误
2010/07/17 Javascript
jquery下实现overlay遮罩层代码
2010/08/25 Javascript
快速排序 php与javascript的不同之处
2011/02/22 Javascript
基于jquery实现瀑布流布局
2020/06/28 Javascript
JavaScript优化专题之Loading and Execution加载和运行
2016/01/20 Javascript
基于JS实现checkbox全选功能实例代码
2016/10/31 Javascript
ionic+AngularJs实现获取验证码倒计时按钮
2017/04/22 Javascript
jQuery为某个div加入行样式
2017/06/09 jQuery
浅析Vue自定义组件的v-model
2017/11/26 Javascript
Vue导出页面为PDF格式的实现思路
2018/07/31 Javascript
浅谈vue加载优化策略
2019/03/19 Javascript
javascript 模块依赖管理的本质深入详解
2020/04/30 Javascript
js实现搜索提示框效果
2020/09/05 Javascript
[51:44]2018DOTA2亚洲邀请赛 4.3 突围赛 Optic vs iG 第二场
2018/04/04 DOTA
python socket网络编程步骤详解(socket套接字使用)
2013/12/06 Python
Python判断字符串与大小写转换
2015/06/08 Python
Python出现segfault错误解决方法
2016/04/16 Python
老生常谈进程线程协程那些事儿
2017/07/24 Python
Python输入二维数组方法
2018/04/13 Python
python循环定时中断执行某一段程序的实例
2019/06/29 Python
在自动化中用python实现键盘操作的方法详解
2019/07/19 Python
执行Django数据迁移时报 1091错误及解决方法
2019/10/14 Python
Python实现一个简单的递归下降分析器
2020/08/01 Python
Python加载数据的5种不同方式(收藏)
2020/11/13 Python
python基于win32api实现键盘输入
2020/12/09 Python
印尼值得信赖的在线交易网站:Bukalapak
2019/03/11 全球购物
俄罗斯马克西多姆家居用品网上商店:Максидом
2020/02/06 全球购物
餐饮业经理竞聘演讲稿
2014/01/14 职场文书
教师个人剖析材料
2014/02/05 职场文书
学习雷锋倡议书
2014/04/15 职场文书
电子商务优秀毕业生求职信
2014/07/11 职场文书
法学专业大学生实习自我鉴定
2014/10/05 职场文书
公司优秀员工推荐信
2015/03/24 职场文书