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 相关文章推荐
使用jquery插件实现图片延迟加载技术详细说明
Mar 12 Javascript
jquery获得页面元素的坐标值实现思路及代码
Apr 15 Javascript
Three.js学习之网格
Aug 10 Javascript
JavaScript实现DOM对象选择器
Sep 24 Javascript
JS实现页面中所有img对象添加onclick事件及新窗口查看图片的方法
Dec 27 Javascript
使用prop解决一个checkbox选中后再次选中失效的问题
Jul 05 Javascript
微信小程序实现action-sheet弹出底部菜单功能【附源码下载】
Dec 09 Javascript
微信小程序progress组件使用详解
Jan 31 Javascript
关于微信小程序获取小程序码并接受buffer流保存为图片的方法
Jun 07 Javascript
JavaScript中作用域链的概念及用途讲解
Aug 06 Javascript
javascript中导出与导入实现模块化管理教程
Dec 03 Javascript
vue组件vue-esign实现电子签名
Apr 21 Vue.js
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
coreseek 搜索英文的问题详解
2013/06/08 PHP
PHP的PSR规范中文版
2013/09/28 PHP
php实现执行某一操作时弹出确认、取消对话框
2013/12/30 PHP
Thinkphp中Create方法深入探究
2014/06/16 PHP
PHPExcel内存泄漏问题解决方法
2015/01/23 PHP
浅谈php命令行用法
2015/02/04 PHP
php开发时容易忘记的一些技术细节
2016/02/03 PHP
php mysql PDO 查询操作的实例详解
2017/09/23 PHP
php gethostbyname获取域名ip地址函数详解
2010/01/24 Javascript
javascript 简单抽屉效果的实现代码
2010/03/09 Javascript
关于jquery ajax 调用带参数的webservice返回XML数据一个小细节
2012/07/31 Javascript
AngularJS初始化过程分析(引导程序)
2014/12/06 Javascript
后台获取ZTREE选中节点的方法
2015/02/12 Javascript
JS+CSS实现仿msn风格选项卡效果代码
2015/10/22 Javascript
基于javascript制作经典传统的拼图游戏
2016/03/22 Javascript
js实现常用排序算法
2016/08/09 Javascript
详解node HTTP请求客户端 - Request
2017/05/05 Javascript
详解vue的diff算法原理
2018/05/20 Javascript
解决vue接口数据赋值给data没有反应的问题
2018/08/27 Javascript
Vue批量图片显示时遇到的路径被解析问题
2019/03/28 Javascript
详解无限滚动插件vue-infinite-scroll源码解析
2019/05/12 Javascript
vue项目配置使用flow类型检查的步骤
2020/03/18 Javascript
解决vue-photo-preview 异步图片放大失效的问题
2020/07/29 Javascript
详解Python之unittest单元测试代码
2018/01/24 Python
Python设计模式之代理模式实例详解
2019/01/19 Python
python生成13位或16位时间戳以及反向解析时间戳的实例
2020/03/03 Python
Lombok插件安装(IDEA)及配置jar包使用详解
2020/11/04 Python
飞利信loadrunner和软件测试笔试题
2012/09/22 面试题
毕业生简历自我评价范文
2014/04/09 职场文书
医院义诊活动总结
2014/07/04 职场文书
政协会议宣传标语
2014/10/09 职场文书
银行求职自荐信范文
2015/03/04 职场文书
2015年学校政教工作总结
2015/07/20 职场文书
python3读取文件指定行的三种方法
2021/05/24 Python
java objectUtils 使用可能会出现的问题
2022/02/28 Java/Android
JAVA 线程池(池化技术)的实现原理
2022/04/28 Java/Android