对匿名函数的一些知识点总结!

来源:互联网 发布:cd软件是coreldraw 编辑:程序博客网 时间:2024/04/30 11:32
顾名思义,匿名函数就是没有实际名字的函数,下面,我们先初步了解一下和匿名函数相关的概念。

(1)要使用函数,就要对函数先定义。  function abc(){ }    

        有参,无参函数 ,有返回值的函数,typeof 返回的都是 function 对象

    (1.1)typeof 运算符的用法:   //返回一个用来表示表达式数据类型的字符串
typeof的运算数未定义,返回的就是 "undefined".
运算数为数字 typeof(x) = "number"
字符串 typeof(x) = "string"
布尔值 typeof(x) = "boolean"
对象,数组和null typeof(x) = "object"
函数 typeof(x) = "function"
typeof 运算符返回一个用来表示表达式的数据类型的字符串。 
可能的字符串有:"number"、"string"、"boolean"、"object"、"function" 和 "undefined"。

(2)Function对象能不能直接运用构造函数创建一个新的函数呢?答案是肯定的。
var abc = new Function("x","y","return x*y;"); alert(abc(2,3)); // "6"
(3)var abc=function(x,y){ return x+y; } alert(abc(2,3)); // "5"
上面的操作其实就等于换个方式去定义函数,这种用法是我们比较频繁遇到的。例如我们在设定一个DOM元素事件处理函数的时候,
我们通常都不会为他们定名字,而是赋予它的对应事件引用一个匿名函数。  

(4)对匿名函数的调用其实还有一种做法,也就是我们看到的jQuery片段——使用()将匿名函数括起来,然后后面再加一对小括号(包含参数列表)
alert((function(x,y){return x+y;})(2,3));// "5" alert((new Function("x","y","return x*y;"))(2,3));// "6"

(5)闭包,其实就是指程序语言中能让代码调用已运行的函数中所定义的局部变量。 
var abc=function(y){        var x=y;// 这个是局部变量        return function(){        alert(x++);// 就是这里调用了闭包特性中的一级函数局部变量的x,并对它进行操作        alert(y--);// 引用的参数变量也是自由变量        }}(5);// 初始化        abc();// "5" "5"        abc();// "6" "4"        abc();// "7" "3"        alert(x);// 报错!“x”未定义! 


 





 

0 0
原创粉丝点击