可以动态构建一个函数。

为啥要这么做?

我还真的就有这么一个需求。原因是,我

有一个查找函数,根据输入条件的不同进行查找。从一大堆数据里面进行查找。

为了提高点性能,我想根据输入条件,预先在循环外部构造好函数,在循环里面直接调用这个函数。否则的话,循环里面充斥着各种判断,每一轮循环都要判断。所以,需要动态构造函数,将判断提取到循环外。

javascript还真支持。原理主要是可以将字符串转成语句。

var f = new Function('say',"alert(say);");//第一个参数,是构建出来的动态函数的参数;第二个参数,是函数体
/*
*相当于
var f = function(say){alert(say);
};
*/
f('hello world!');//运行结果,弹出对话框:hello world!

千古江山,英雄无觅,孙仲谋处。舞榭歌台,风流总被,雨打风吹去。斜阳草树,寻常巷陌,人道寄奴曾住。

想当年,金戈铁马,气吞万里如虎。 元嘉草草,封狼居胥,赢得仓皇北顾。四十三年,望中犹记,烽火扬州路。可堪回首,佛狸祠下,一片神鸦社鼓。凭谁问:廉颇老矣,尚能饭否?

javascript动态构建函数相关推荐

  1. Javascript中的函数重载-最佳做法

    用JavaScript伪造函数重载的最佳方法是什么? 我知道不可能像其他语言一样重载Javascript中的函数. 如果我需要两个函数一起使用foo(x)和foo(x,y,z) ,这是最佳/首选方式: ...

  2. 【javascript 动态添加数据到 HTML 页面】

    今天简单的学习了一下有关对象字面量的定义和 javascript 如何取出对象字面量的值的知识,javascript 动态添加数据到 HTML 页面的问题. [学习目标]有如下的一组数据通过 Ajax ...

  3. driver.get调用iframe中的页面_【5分钟玩转Lighthouse】爬取JavaScript动态渲染页面

    0x00 背景概述 通过[技术干货 007 | Scrapy爬虫初探]教程,大家应该已经对如何编写爬虫有了一定的认识.但对于较为复杂的网站设计,比如网站页面使用了JavaScript动态渲染,入门级的 ...

  4. JavaScript中的函数是对象?

    函数是第一类对象(first-class object),被称为一等公民.函数与对象共存,我们也可以认为函数就是其他任意类的对象. 那么今天,就让我们一起简单聊一聊JavaScript的函数吧! 目录 ...

  5. 如何用JavaScript的回调函数做出承诺

    by Adham El Banhawy 由Adham El Banhawy 如何用JavaScript的回调函数做出承诺 (How to make a Promise out of a Callbac ...

  6. javascript的匿名函数

    古人有"授之以鱼,不如授之以渔" ,没有老师,就只能自己学"渔"了.还是从简单的开始吧! 下面的这几句代码是最熟悉不过的了,但是你知道为什么这么写吗?为什么在页 ...

  7. 一文探索 JavaScript 最强大特性—函数表达式

    函数是 ECMAScript 中最有意思的部分之一,这主要是因为函数实际上是对象.每个函数都是 Function 类型的实例,而 Function 也有属性和方法,跟其他引用类型一样.因为函数是对象, ...

  8. JavaScript权威指南 - 函数

    函数本身就是一段JavaScript代码,定义一次但可能被调用任意次.如果函数挂载在一个对象上,作为对象的一个属性,通常这种函数被称作对象的方法.用于初始化一个新创建的对象的函数被称作构造函数. 相对 ...

  9. Javascript 变量、函数的声明

    javascript变量 全局变量和局部变量     按照变量的作用域来区分,和大多数编程语言类似,javascript变量也分为全局变量和局部变量.全局变量的作用域是整个js文件,而局部变量的作用域 ...

最新文章

  1. 单链表的基本操作_数据结构-单链表的基本操作
  2. FCN训练自己的数据集及测试
  3. 一个可行的绑定下拉列表的方法(bind dropdownlist)
  4. 产生的DLL (VS2005, MATLAB7.5, mwArray)
  5. java初学者必看的学习路线
  6. java 线程释放_如何手动释放一个java线程占用的资源
  7. 【iCore4 双核心板_ARM】例程三:EXTI中断输入实验——读取ARM按键状态
  8. 我的世界高亮显示服务器,waila(我的世界高亮显示没了)
  9. matlab两条曲线方程求交点_帮忙matlab求两条曲线交点程序,不知问题出在哪里。...
  10. 130行Python代码模仿“蚂蚁呀嘿”特效,太魔性了!
  11. 超高频UHF RFID读写模块R200开发测试
  12. 混合云市场现状与发展趋势研究
  13. Image captioning评价方法之ROUGE-L
  14. POS机IC卡参数、公钥下载流程及POSP数据库设计
  15. AEJoy —— 表达式之模拟弹簧【JS】
  16. 两个正态随机向量不相关就意味着这两个随机向量独立?
  17. vivo计算机隐藏游戏,vivoX30功能使用教程 隐藏游戏图标不让孩子发现
  18. MySQL中的LEFT JOIN ON (where)查询
  19. 网站index.php,网站 index of
  20. pc端和移动端微信加入群聊的测试用例设计点

热门文章

  1. 计算机应用技术计算问题,汉语组块计算的若干分析-计算机应用技术专业论文.docx...
  2. 【爬虫+多线程+MySQL】网抑云音乐评论爬取
  3. TensorFlow 学习(一)—— tf get variable vs tf Variable ,tf nam
  4. 通过ScheduledExecutorService代替Timer
  5. dive into deep learning 循环神经网络 RNN 部分 学习
  6. 微信小程序数据 \n 换行符失效解决办法
  7. 三十八、Fluent融化凝固模型参数设置依据
  8. 单片机实验汇编2--P1口输入、输出实验
  9. 马蜂窝爬虫--往期创作整理
  10. Python——返回函数