Function 对象 & anonymous 匿名函数

functionName = new Function( [argname1, [... argnameN,]] body );

例子:

var say = new Function("name","return name");
console.dir(say);
console.dir(say("Lily"));

打印结果:

function anonymous(name /**/) { return name }
Lily

不论参数还是方法都是以字符串形式出现,自行体会下面的不同。

return "{a:1}"

"return {a:1}"

实际应用[对象字符串]转[对象]:

var o = (new Function("return {a:1}"))();
console.dir(o);console.dir(o.a);

打印结果:

Object1
时间: 2024-08-06 12:14:28

Function 对象 & anonymous 匿名函数的相关文章

js匿名函数闭包

函数声明: function functionName(arg0,arg1){ //函数体 } 函数表达式: var functionName = function(arg0,arg1){ //函数体 } 函数声明和函数表达式之间的主要区别是前者会在代码执行前被加载到作用域中,而后者是在代码执行到那一行的时候才会有定义.另一个区别是函数声明会给函数指定一个名字,而函数表达式则创建一个匿名函数,然后将这个函数赋给一个变量 1 递归 递归函数是在一个函数通过名字调用自身的情况下构成的,例如: fun

jQuery匿名函数$(function(){ }

搬运原地址:https://zhidao.baidu.com/question/473318430.html $(function(){ }实际上是匿名函数.这是JQuery的语法,$表示JQuery对象,可以有好几种用法.比如传递选择器字符串.页面对象等,如果直接传函数体进去,表示当页面加载完毕时执行这个函数. 这里实际上是匿名函数 "$(function(){ } "这就定义了一个匿名函数,参数为arg 而调用函数时,是在函数后面写上括号和实参的,由于操作符的优先级,函数本身也需要

匿名函数与闭包

1.匿名函数: 普通函数   function box(){return "lee";}   //函数名是box 匿名函数   function(){return "lee";}   //匿名函数,会报错 通过表达式自我执行    (function box(){alert("lee");})();  //封装成表达式 把匿名函数赋值给变量   var box=function(){return 'lee';}; 函数里的匿名函数    func

Function对象

1.函数与Function对象 函数(方法)是一个可以重复执行的代码段 一组可以运行的语句 Function对象可以表示开发者定义的任何函数 函数实际上是功能完整的对象 2.函数的定义 有关键字function定义 函数名的定义规则与标识符一致,大小写敏感 可以使用变量.常量或表达式作为函数调用的的参数 返回值必须使用return return语句也可以终止函数的执行 function 函数名([参数]) { 函数体; return 返回值; } 3.函数的调用 函数名可以通过其名字加上括号中的

js之匿名函数

js之匿名函数   这篇博文内容来自于javascript高级程序设计第2版,向作者致敬 函数声明: function functionName(arg0,arg1){ //函数体 } 函数表达式: var functionName = function(arg0,arg1){ //函数体 } 函数声明和函数表达式之间的主要区别是前者会在代码执行前被加载到作用域中,而后者是在代码执行到那一行的时候才会有定义.另一个区别是函数声明会给函数指定一个名字,而函数表达式则创建一个匿名函数,然后将这个函数

对匿名函数的深入理解(彻底版)

从简单的字面理解就是一个没有名字的函数,但是如果说它只是这样简单,那我也就没有必要来说这些. 对匿名函数的理解1: function(){ console.log(1); } // 报错 不能直接使用. 对匿名函数的理解2: var a = function(){ console.log(1); } a(); //1 匿名函数可以依附于一个变量,并且这个变量名就是这个匿名函数的名字. var a = function(){ console.log(1); } console.log(typeof

js:匿名函数/闭包前奏

js里面”万物皆对象“,函数同理 三种定义方式 a.传统的如同C语言一样的定义方式:function abc(){code} b.少见的定义方式:var abc = new Function('参数','代码');  //由此可见我们的function是构造函数Function的对象实例,即函数也是对象 c.匿名函数定义:var abc = function(){...} //写一个匿名函数,并让一个变量称为它的引用 对于匿名函数有很多奇技淫巧: 1.若是我们平时用a,b方法定义函数,实际调用的

PHP 闭包函数 Closures 匿名函数

/*  * 匿名函数   * 闭包函数(closures)  * 依靠匿名函数实现闭包  * 子函数可以使用父函数中的局部变量,这种行为就叫做闭包  * 连接闭包和外界变量的关键字 use  * 闭包的两个特点  * 1.作为一个函数变量的一个引用,当函数返回时,其处于激活状态.  * 2.一个闭包就是当一个函数返回时,一个没有释放资源的栈区.  * 闭包函数返回时,该函数内部变量处于激活状态,函数在栈区依然保留.  *   * 总结  * 1.闭包外层是个函数  * 2.闭包内部都有函数  *

python 匿名函数 lambda

一.lambda使用语法: 关键字lambda表示匿名函数,冒号前面的x表示函数参数,冒号后面只能有一个表达式,不用写return,返回值就是该表达式的结果. 1 >>> list(map(lambda x: x * x, [1, 2, 3, 4, 5])) 2 [1, 4, 9, 16, 25] 无参数lambda表达式: 1 >>> f = lambda : 2 * 2 2 >>> f() 3 4 二.匿名函数是一个函数对象 用匿名函数有个好处,因