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

顾名思义,匿名函数就是没有实际名字的函数,下面,我们先初步了解一下和匿名函数相关的概念。

(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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python中的eval()函数是一个内置函数,它可以将一个字符串作为代码来执行。它的基本用法是将一个字符串当作Python表达式来执行,并返回表达式的结果。下面是对Python eval()函数的一些总结: 1. eval()函数的基本语法如下: ``` eval(expression[, globals[, locals]]) ``` 其中,expression为需要执行的Python表达式,globals和locals为可选参数,分别表示全局和局部命名空间字典。 2. eval()函数可以执行任何Python表达式,包括函数调用、赋值语句等。例如: ``` x = 1 y = 2 print(eval("x + y")) ``` 输出结果为:3 3. eval()函数还可以执行包含控制语句的表达式,例如if语句、for循环语句等。但是要注意,eval()函数执行的代码必须是安全可靠的,否则可能会有安全风险。例如: ``` x = 1 y = 2 z = eval("if x > y: x else: y") print(z) ``` 输出结果为:2 4. eval()函数还可以执行包含异处理语句的表达式。例如: ``` try: eval("1/0") except ZeroDivisionError as e: print("Error:", e) ``` 输出结果为:Error: division by zero 5. eval()函数还可以接受一个字典作为globals参数,用于指定全局命名空间。例如: ``` x = 1 y = 2 print(eval("x + y", {"x": 2, "y": 3})) ``` 输出结果为:5 6. eval()函数还可以接受一个字典作为locals参数,用于指定局部命名空间。例如: ``` x = 1 y = 2 print(eval("x + y", {}, {"x": 2, "y": 3})) ``` 输出结果为:5 7. eval()函数的返回值为表达式的结果。例如: ``` x = 1 y = 2 z = eval("x + y") print(z) ``` 输出结果为:3 总之,eval()函数是Python中非有用的一个内置函数,它可以让我们在运行时执行动态的Python代码。但是要注意,使用eval()函数时需要谨慎,避免因为执行不安全的代码而导致安全问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值