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 AJAX 框架的使用方法
Nov 03 Javascript
从零开始学习jQuery (三) 管理jQuery包装集
Feb 23 Javascript
js用正则表达式来验证表单(比较齐全的资源)
Nov 17 Javascript
Jquery操作radio的简单实例
Jan 06 Javascript
JavaScript中实现异步编程模式的4种方法
Sep 24 Javascript
jQuery实现简单二级下拉菜单
Apr 12 Javascript
微信小程序  Mustache语法详细介绍
Oct 27 Javascript
JS 在数组指定位置插入/删除数据的方法
Jan 12 Javascript
从setTimeout看js函数执行过程
Dec 19 Javascript
AngularJS使用$http配置对象方式与服务端交互方法
Aug 13 Javascript
Vue表单绑定的实例代码(单选按钮,选择框(单选时,多选时,用 v-for 渲染的动态选项)
May 13 Javascript
Javascript Symbol原理及使用方法解析
Oct 22 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,ASP.JAVA,JAVA代码格式化工具整理
2010/06/15 PHP
thinkphp在php7环境下提示Cannot use ‘String’ as class name as it is reserved的解决方法
2016/09/30 PHP
php监测数据是否成功插入到Mysql数据库的方法
2016/11/25 PHP
ajax调用返回php接口返回json数据的方法(必看篇)
2017/05/05 PHP
PHP如何将图片文件上传到另外一台服务器上
2019/08/26 PHP
自动更新作用
2006/10/08 Javascript
从Ajax到JQuery Ajax学习
2007/02/14 Javascript
获取当前点击按钮的id用this.id实现
2014/03/17 Javascript
再谈javascript原型继承
2014/11/10 Javascript
js实现Select列表内容自动滚动效果代码
2015/08/20 Javascript
jQuery解决IE6、7、8不能使用 JSON.stringify 函数的问题
2016/05/31 Javascript
JS中传递参数的几种不同方法比较
2017/01/20 Javascript
Vue.js开发环境快速搭建教程
2017/03/17 Javascript
Javascript操作dom对象之select全面解析
2017/04/24 Javascript
VUE 更好的 ajax 上传处理 axios.js实现代码
2017/05/10 Javascript
Vue实现移动端左右滑动效果的方法
2018/11/27 Javascript
Layui 导航默认展开和菜单栏选中高亮设置的方法
2019/09/04 Javascript
[02:57]DOTA2亚洲邀请赛 SECRET战队出场宣传片
2015/02/07 DOTA
Python进程间通信用法实例
2015/06/04 Python
Python爬虫设置代理IP的方法(爬虫技巧)
2018/03/04 Python
windows10下安装TensorFlow Object Detection API的步骤
2019/06/13 Python
PyTorch中Tensor的维度变换实现
2019/08/18 Python
Python实现敏感词过滤的4种方法
2020/09/12 Python
基于Python正确读取资源文件
2020/09/14 Python
英国最大的在线运动补充剂商店:Discount Supplements
2017/06/03 全球购物
椰子猫砂:CatSpot
2018/08/27 全球购物
在阿尔卑斯山或希腊度过快乐假期:Alpine Elements
2019/12/28 全球购物
2014村务公开实施方案
2014/02/25 职场文书
关于学习的演讲稿
2014/05/10 职场文书
贷款担保申请书
2014/05/20 职场文书
护士优质服务演讲稿
2014/08/26 职场文书
机关干部个人对照检查材料思想汇报
2014/09/28 职场文书
2015年财政局工作总结
2015/05/21 职场文书
公司客户答谢酒会祝酒词
2015/08/11 职场文书
MySQL的意向共享锁、意向排它锁和死锁
2022/07/15 MySQL
html解决浏览器记住密码输入框的问题
2023/05/07 HTML / CSS