Javascript函数详解
来源:互联网 发布:网络诈骗金额多少年 编辑:程序博客网 时间:2024/05/01 00:49
javascript函数详解
js中的函数是对象,每个函数都是Function类型的实例,函数名只是一个指向函数对象的指针,不会和函数绑定。js函数声明方法如下:
//方法一function sum(num1,num2){ return num1+num2;}//方法二var sum = function(num1,num2){ return num1+num2;}; //注意分号,sum是函数的引用//方法三var sum = new Function("num1","num2","return num1+num2") //不推荐
函数名是指向函数的指针,也就是说一个函数可以有多个指针指向它
function sum(num1,num2){ return num1+num2;}var anotherSum = sum;sum = null;alert(anotherSum(10,10)); //20
Js的函数没有重载的概念
function addSomeNumber(num){ return num + 100;}function addSomeNumber(num){ return num +200;}alert(addSomeNumber(100)); //300 第二个会覆盖第一个
函数声明和函数表达式
alert(sum(10,10));function sum(num1,num2){ return num1+num2;}//可以正常运行,js解析器会通过一个名为函数声明提升的过程,把函数放到前面alert(sum(10,10));var sum = function(num1,num2){ return num1+num2;}//错误!函数位于一个初始化的语句中
函数可以当做参数传递,也可以将一个函数作为另一个函数的返回值返回,典型的列子是:对象数组排序问题(以某个属性排序)
function createComparisonFunction(propertyName){ return function(object1,object2){ var value1 = object1[propertyName]; var value2 = object2[propertyName]; if(value1 < value2){ return -1;//置前 }else if(value1 > value2){ return 1; //置后 }else{ return 0; //相等 } }}var data = [{name:"zs",age:20},{name:"nb",age:23}];data.sort(createComparisonFunction("name"));alert(data[0].name); //nb
关于sort的方法可以参考我之前的文章ECMAScript引用类型之Array类型
1 0
- Javascript的函数详解
- javascript系统函数详解
- JavaScript 函数使用详解
- JavaScript eval 函数详解
- 详解JavaScript函数模式
- javascript call 函数详解
- javascript 函数详解
- JavaScript escape() 函数详解
- JavaScript unescape() 函数详解
- javascript parseInt函数详解
- JavaScript encodeURI() 函数详解
- JavaScript eval() 函数详解
- JavaScript hasOwnProperty() 函数详解
- JavaScript 函数详解
- 详解JavaScript函数节流
- 详解JavaScript函数柯里化
- JavaScript eval() 函数详解
- Javascript函数详解
- 193. Valid Phone Numbers#1
- conjure-up使用
- 印制板敷铜铜箔种类对插损的影响
- CSS设置滚动条样式
- Android 圆形头像/有外边框的圆形头像CircleImageView自定义控件使用详解
- Javascript函数详解
- 百度站长平台召开百度之夜会议:打造良性搜索生态
- Convex functions
- linux下ps命令 和 grep命令用法
- 【数字图像处理之(三)】用图像增强谈灰度变换
- Android音频开发(3):如何播放一帧音频
- 按关键字爬取百度图片
- javascript语言精粹
- oracle ORA-12899错误的解决方法