Javascript基础Function
- 函数声明与表达式
function someFunc(){
alert("这是一个函数");
} var func=function(){
alert("函数表达式");
};//注意末尾有一个分号 someFunc();
func();
- 作为值的函数
//把函数当作参数传递给另一个函数,类似C#中的委托用法
function sum(n1){
return n1+10;
} function minus(n1){
return n1-10;
} function callSomeFunc(someFunc,someArguments){
return someFunc(someArguments);
} alert(callSomeFunc(sum,20));
alert(callSomeFunc(minus,30));
//将一个函数作为另一个函数的结果返回
<script type="text/javascript" charset="utf-8">
function createComparisonFunction(propertyName){
return function(obj1,obj2){
var val1=obj1[propertyName];
var val2=obj2[propertyName];
if(val1>val2){
return 1;
}else if(val1<val2){
rerurn -1;
}else{
return 0;
}
}
}
var data=[{name:"xiao",age:23},{name:"wang",age:26}];
data.sort(createComparisonFunction("name"));
alert(data[0].age);
</script>
- 函数内部属性
<script type="text/javascript" charset="utf-8">
//arguments的属性,代替了函数名的紧耦合
function factorial(num){
if(num<=1){
return 1;
}else{
return num*arguments.callee(num-1);
}
}
alert(factorial(5));
</script>
<script type="text/javascript" charset="utf-8">
function outer(){
inner()
}
function inner(){
//alert(inner.caller);
alert(arguments.callee.caller);//caller获取调用当前函数的引用
}
inner();
</script>
- 函数的属性及方法
name可以获取函数的名称,length属性可以获取函数参数的个数;
function sum(n1,n2){ }
alert(sum.name);//sum
alert(sum.length);//
<script type="text/javascript" charset="utf-8">
window.color="red";
var o={color:"bule"};
function showColor(){
alert(this.color);
}
showColor();//red
showColor.call(o);//blue
showColor.apply(o);//blue
var objshowColor= showColor.bind(o);//band创建了函数的一个示例,objshowColor内this就相当于o
objshowColor();//blue
</script>
function sum(n1,n2){
return n1+n2;
} function callSum(n1,n2){
return sum.apply(this,arguments);//传递参数
} alert(callSum(3,5));
apply和call不仅可以传递参数,还可以扩充函数的作用域(真正的用处)
Javascript基础Function的更多相关文章
- 一步步学习javascript基础篇(3):Object、Function等引用类型
我们在<一步步学习javascript基础篇(1):基本概念>中简单的介绍了五种基本数据类型Undefined.Null.Boolean.Number和String.今天我们主要介绍下复杂 ...
- JavaScript基础
JavaScript基础 JavaScript是一门编程语言,浏览器内置了JavaScript语言的解释器,所以在浏览器上按照JavaScript语言的规则编写相应代码之,浏览器可以解释并做出相应的处 ...
- 一步步学习javascript基础篇(0):开篇索引
索引: 一步步学习javascript基础篇(1):基本概念 一步步学习javascript基础篇(2):作用域和作用域链 一步步学习javascript基础篇(3):Object.Function等 ...
- 前端之JavaScript基础
前端之JavaScript基础 本节内容 JS概述 JS基础语法 JS循环控制 ECMA对象 BOM对象 DOM对象 1. JS概述 1.1. javascript历史 1992年Nombas开发出C ...
- Javascript基础回顾 之(三) 面向对象
本来是要继续由浅入深表达式系列最后一篇的,但是最近团队突然就忙起来了,从来没有过的忙!不过喜欢表达式的朋友请放心,已经在写了:) 在工作当中发现大家对Javascript的一些基本原理普遍存在这里或者 ...
- Javascript基础回顾 之(二) 作用域
本来是要继续由浅入深表达式系列最后一篇的,但是最近团队突然就忙起来了,从来没有过的忙!不过喜欢表达式的朋友请放心,已经在写了:) 在工作当中发现大家对Javascript的一些基本原理普遍存在这里或者 ...
- Javascript基础回顾 之(一) 类型
本来是要继续由浅入深表达式系列最后一篇的,但是最近团队突然就忙起来了,从来没有过的忙!不过喜欢表达式的朋友请放心,已经在写了:) 在工作当中发现大家对Javascript的一些基本原理普遍存在这里或者 ...
- JavaScript 基础回顾——对象
JavaScript是基于对象的解释性语言,全部数据都是对象.在 JavaScript 中并没有 class 的概念,但是可以通过对象和类的模拟来实现面向对象编程. 1.对象 在JavaScript中 ...
- javascript基础01
javascript基础01 Javascript能做些什么? 给予页面灵魂,让页面可以动起来,包括动态的数据,动态的标签,动态的样式等等. 如实现到轮播图.拖拽.放大镜等,而动态的数据就好比不像没有 ...
随机推荐
- 使用SQL语句创建和删除约束
原文:http://blog.csdn.net/hamber_bao/article/details/6504905 约束的目的就是确保表中的数据的完整性. 常用的约束类型如下: 主键约束:(Prim ...
- 网络流——增广路算法(dinic)模板 [BeiJing2006]狼抓兔子
#include<iostream> #include<cstring> #include<algorithm> #include<cmath> #in ...
- Sed命令学习
1.Sed简介 流数据编辑器 Stream editer(sed),它是一种行编辑器(对应于全屏编辑器),一次处理一行的内容.默认不编辑原文件内容(-i会直接修改原文件).处理时,它先将当前符 ...
- js获取url的各项参数
function getQueryStringArgs() { //取得查询字符串并去掉开头的问号 var qs = location.search.length > 0 ? location. ...
- C# 调用浏览器打开网址
private void button1_Click(object sender, EventArgs e) { //调用系统默认的浏览器 System.Diagnostics.Process.Sta ...
- Repeater绑定数据库,使用AspNetPager进行分页
分页是Web中经常遇到的功能,分页主要有真分页和假分页. 所谓真分页是指:每一页显示多少数据,就从数据库读多少数据: 假分页是指:一次性从数据库读取所有数据,然后再进行分页. 这两种分页方式区别在于从 ...
- SelectedNode与e.node的区别
SelectedNode与e.node的区别 待补.......
- Activiti工作流学习-----基于5.19.0版本(3)
前面关于eventType的属性值的配置简单的说了一下,activiti支持的值如下表所示:这是我摘抄的activiti官网的 Event 的名字 描述 Event的类名 ENGINE_CREATED ...
- MySQL锁等待分析【2】
MySQL锁等待分析[1]中对锁等待的分析是一步一步来的.虽然最后是分析出来了,可是用时是比较长的:理清各个表之间的关系后,得到如下SQL语句,方便以后使用 select block_trx.trx_ ...
- mark 的总结开发笔记-备
2.播放音乐:-(void) playMusic{@try{//取文件路径NSString *musicFilePath = [[NSBundle mainBundle] pathForResourc ...