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 相关文章推荐
js浮点数保留两位小数点示例代码(四舍五入)
Dec 26 Javascript
Javascript基础教程之switch语句
Jan 18 Javascript
完美的js图片轮换效果
Feb 05 Javascript
JavaScript函数表达式详解及实例
May 05 Javascript
AngularJS基于provider实现全局变量的读取和赋值方法
Jun 28 Javascript
利用jqprint插件打印页面内容的实现方法
Jan 09 Javascript
vue权限问题的完美解决方案
May 08 Javascript
微信小程序位置授权处理方法
Jun 13 Javascript
vue自定义正在加载动画的例子
Nov 14 Javascript
Vue常用的全选/反选的示例代码
Feb 19 Javascript
Nest.js参数校验和自定义返回数据格式详解
Mar 29 Javascript
JS实现简单控制视频播放倍速的实例代码
Apr 18 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匹配UTF-8中文的正则表达式
2015/05/13 PHP
PHP实现无限极分类的两种方式示例【递归和引用方式】
2019/03/25 PHP
PHP-FPM 设置多pool及配置文件重写操作示例
2019/10/02 PHP
extjs fckeditor集成代码
2009/05/10 Javascript
jQuery 1.3 和 Validation 验证插件1.5.1
2009/07/09 Javascript
javascript与CSS复习(三)
2010/06/29 Javascript
数组方法解决JS字符串连接性能问题有争议
2011/01/12 Javascript
原生javascript和jquery判断浏览器版本等信息
2013/07/04 Javascript
jquery foreach使用示例
2013/09/12 Javascript
基于jquery扩展漂亮的下拉框可以二次修改
2013/11/19 Javascript
鼠标移入移出事件改变图片的分辨率的两种方法
2013/12/17 Javascript
JS,Jquery获取select,dropdownlist,checkbox下拉列表框的值(示例代码)
2014/01/11 Javascript
js获取checkbox复选框选中的选项实例
2014/08/24 Javascript
js实现window.open不被拦截的解决方法汇总
2014/10/30 Javascript
javascript封装的sqlite操作类实例
2015/07/17 Javascript
javascript解析xml实现省市县三级联动的方法
2015/07/25 Javascript
jquery实现叠层3D文字特效代码分享
2015/08/21 Javascript
浅谈jquery中的each方法$.each、this.each、$.fn.each
2016/06/23 Javascript
angular ng-repeat数组中的数组实例
2017/02/18 Javascript
vue实现消息的无缝滚动效果的示例代码
2017/12/05 Javascript
Angular自定义组件实现数据双向数据绑定的实例
2017/12/11 Javascript
谈谈JavaScript中的函数
2020/09/08 Javascript
Python变量作用范围实例分析
2015/07/07 Python
利用Python抓取行政区划码的方法
2016/11/28 Python
python图像常规操作
2017/11/11 Python
python 寻找list中最大元素对应的索引方法
2018/06/28 Python
python字典值排序并取出前n个key值的方法
2018/10/17 Python
Python读取指定日期邮件的实例
2019/02/01 Python
Python开发网站目录扫描器的实现
2019/02/21 Python
python中删除某个元素的方法解析
2019/11/05 Python
python爬虫容易学吗
2020/06/02 Python
canvas粒子动画背景的实现示例
2018/09/03 HTML / CSS
澳大利亚领先的睡衣品牌:Peter Alexander
2016/08/16 全球购物
两年的个人工作自我评价
2014/01/10 职场文书
2014年大学生四年规划书范文
2014/04/03 职场文书
文科毕业生自荐书范文
2014/04/17 职场文书