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代码
Dec 01 Javascript
Jquery实现仿新浪微博获取文本框能输入的字数代码
Feb 22 Javascript
Jquery获取元素的父容器对象示例代码
Feb 10 Javascript
购物车前端开发(jQuery和bootstrap3)
Aug 27 Javascript
基于jQuery实现弹幕APP
Feb 10 Javascript
JS常见算法详解
Feb 28 Javascript
从零开始做一个pagination分页组件
Mar 15 Javascript
浅谈vue同一页面中拥有两个表单时,的验证问题
Sep 18 Javascript
vue 强制组件重新渲染(重置)的两种方案
Oct 29 Javascript
通过javascript实现扫雷游戏代码实例
Feb 09 Javascript
nuxt.js服务端渲染中axios和proxy代理的配置操作
Nov 06 Javascript
vue动态绑定style样式
Apr 20 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
DC动画电影《黑暗正义联盟》曝预告 5月5日上线数字平台
2020/04/09 欧美动漫
php+mysqli批量查询多张表数据的方法
2015/01/29 PHP
JavaScript 学习点滴记录
2009/04/24 Javascript
js自动闭合html标签(自动补全html标记)
2012/10/04 Javascript
Extjs Gird 支持中文拼音排序实现代码
2013/04/15 Javascript
利用ajaxfileupload插件实现文件上传无刷新的具体方法
2013/06/08 Javascript
Javascript中判断变量是数组还是对象(array还是object)
2013/08/14 Javascript
jquery 循环显示div的示例代码
2013/10/18 Javascript
JS设置获取cookies的方法
2014/01/26 Javascript
你未必知道的JavaScript和CSS交互的5种方法
2014/04/02 Javascript
TypeScript 学习笔记之基本类型
2015/06/19 Javascript
jQuery实现信息提示框(带有圆角框与动画)效果
2015/08/07 Javascript
JS实现超简单的鼠标拖动效果
2015/11/02 Javascript
jquery延迟对象解析
2016/10/26 Javascript
nodejs开发——express路由与中间件
2017/03/24 NodeJs
JavaScript判断日期时间差的实例代码
2018/03/01 Javascript
JS判断用户用的哪个浏览器实例详解
2018/10/09 Javascript
解决vue组件props传值对象获取不到的问题
2019/06/06 Javascript
vue 的 solt 子组件过滤过程解析
2019/09/07 Javascript
vue使用map代替Aarry数组循环遍历的方法
2020/04/30 Javascript
JavaScript手写数组的常用函数总结
2020/11/22 Javascript
高性能web服务器框架Tornado简单实现restful接口及开发实例
2014/07/16 Python
Python 自动刷博客浏览量实例代码
2017/06/14 Python
java判断三位数的实例讲解
2019/06/10 Python
python selenium xpath定位操作
2020/09/01 Python
Bjorn Borg官方网上商店:国际运动时尚品牌
2016/08/27 全球购物
美国网上鞋城:Shoeline.com
2016/11/17 全球购物
Zavvi美国:英国娱乐之家
2017/03/19 全球购物
加拿大当代时尚服饰、配饰和鞋类专业零售商和制造商:LE CHÂTEAU
2017/10/06 全球购物
市场营销调查计划书
2014/05/02 职场文书
安全例会汇报材料
2014/08/23 职场文书
2015年女生节活动总结
2015/02/27 职场文书
大学生实习证明
2015/06/16 职场文书
入党自传范文2015
2015/06/26 职场文书
python自然语言处理之字典树知识总结
2021/04/25 Python
MySQL图形化管理工具Navicat安装步骤
2021/12/04 MySQL