美文网首页
JavaScript学习笔记(11):Function类型

JavaScript学习笔记(11):Function类型

作者: 陈大饼同学 | 来源:发表于2016-02-29 16:07 被阅读41次

1,说起来js中什么最有意思,我想应该就是函数了——而有意思的根源,则在于函数实际上是对象。

2,每个函数都是Function类型的实例。声明或定义一个函数,你可以这样写:

function sum1(num1,num2){

return num1+num2;

};

或者这样写:

var sum2 = function(sum1,sum2){

return num1+num2;

};

还有一种2B的写法:

var sun3 = new Function("num1","num2","return num1+num2");

虽然不推荐这么写,但是这个写法可以帮助你更好的理解上面那句话:“每个函数都是Function类型的实例”。

3,一个函数可能有多个名字,因为函数名只是一个指针。

function sum4(num1,num2){

return num1+num2;

};

console.log("sum4(10,10)="+sum4(10,10));

var sum4_1 = sum4;

console.info("sum4_1(10,10)="+sum4_1(10,10));

sum4 = null;

//下面这句会报错,因为sum4已经不是一个函数类型了。

//console.log("sum4(10,10)="+sum4(10,10));

console.log("sum4_1(10,10)="+sum4_1(10,10));

4,js中过的Function类型对象没有重载,因为函数名只是一个指针。

function f1(num){

return num+100;

};

function f1(num){

return num+200;

};

console.info("f1(100)="+f1(100));

5,解析器在向执行环境中加载数据时,对函数声明和函数表达式并非一视同仁。解析器会率先读取函数声明,并使其在执行任何代码前可用。值域函数表达式,则必须等到解析器执行到它所在的代码行,才会真正被解释执行。

6,函数名本身就是个变量,所以函数也可以作为值来使用。

function callSomeFunction(someFunction,someArgument){

return someFunction(someArgument);

};

function add10(num){

return num+10;

};

var result1 = callSomeFunction(add10,10)

console.log(result1);

function getGreeting(name){

return "Hello"+name;

};

var result2 = callSomeFunction(getGreeting,"tom");

console.log(result2);

7,当然,你也可以在一个函数中嵌套另一个函数。

function createComparisonFunction(propertyName){

debugger

return function(object1,object2){

var value1 = object1[propertyName];

console.info(value1);

var value2 = object2[propertyName];

console.info(value2);

if(value1 < value2){

return -1;

}else if(value1 > value2){

return 1;

}else{

return 0;

}

};

};

var data = [{name:"tom",age:22},{name:"lucy",age:25}];

data.sort(createComparisonFunction("name"));

console.info(data);

8,函数的内部属性。在函数内部,有两个特殊的对象:argunents和this。arguments是一个类数组对象,里面保存着传入函数的所有参数。

9,还有一些其他的属性,比如length,它表示函数希望接受的命名参数的个数。注意,是希望。这意思是说在某种程度上说js函数传入参数时你可以多给点或者少给点儿都没事。

10,“在ECMAScript核心所定义的全部属性中,最内人寻味的就要数prototype属性了。”(看了蛮久资料 看得还不是很懂,这里先放下,留个坑以后慢慢填。


本节源码下载地址:JavaScript学习笔记(11):Function类型

相关文章

  • JavaScript学习笔记(11):Function类型

    1,说起来js中什么最有意思,我想应该就是函数了——而有意思的根源,则在于函数实际上是对象。 2,每个函数都是Fu...

  • JavaScript Function 类型

    JavaScript 的 Function 类型实际上是对象。每个函数都是 Function 类型的实例,而且而且...

  • 05.Object函数

    JavaScript函数是引用类型(对象类型),所以Function函数也是对象 2."Function构造函数"...

  • JavaScript学习笔记三

    JavaScript学习笔记三 个人学习笔记参考阮一峰的JavaScript教学类型转换,内存,深拷贝,关于内存的...

  • JavaScript学习总结之Function类型

    Function类型 每个函数都是Function类型的实例,因此函数名实际上也是一个指向函数对象的指针 一、函数...

  • JavaScript引用类型——Function类型

    Function类型 函数实际上是对象,每个函数都是Function类型的实例,而且都与其他引用类型一样具有属性和...

  • 【javascript】引用类型-Function类型

    函数是对象,每个函数都是Function类型的实例,函数名实际上也是一个指向函数对象的指针,不会与某个函数绑定。 ...

  • JavaScript之Function类型

    定义Function两种方式: 以上代码定义了变量sum并将其初始化为一个函数。后一个例子中,function关键...

  • js学习笔记-引用类型(Function类型)

    1、函数声明与函数表达式的区别 函数声明可以将函数的使用提升到函数所在语句之前,而函数表达式则不行,必须要在函...

  • JavaScript笔记 Function

    在JavaScript中方法由两部分组成: 方法名和方法体。 JavaScript中的方法跟其他传统面向对象语...

网友评论

      本文标题:JavaScript学习笔记(11):Function类型

      本文链接:https://www.haomeiwen.com/subject/oeygkttx.html