js 把字符串当函数执行的方法

antdv-<a-form>的使用 是 Ant Design Vue 中用于创建表单的组件,提供了一种结构化的方式来收集用户输入。它支持多种布局、验证、数据绑定等功能,非常适合用于处理用户输入和提交数据。 阅读详情

在某些情况下,传递函数名之后,接收的不是函数而是函数名的字符串类型;

解决方法:

1. eval
eval方法—用来执行字符串代表的 javascript 代码。
如果传递的不是字符串的话,会直接返回传值,而非调用。

例如:

function test(str){ 
alert(str); 
} 
//如果param是值;
eval('test("param")'); 
//如果param是变量;
var param = 'B';
eval('test(param)'); //会查找名为param的变量,如果找不到会抛出异常

2. 把方法名看成属性名就行了
由于eval 效率低下以及不安全性,正常情况下我们并不会直接使用这种方法来调用一个函数。由于函数在javascript 里面可以被保存在对象中,因此通过对象的属性访问将会是更好的选择。

说明:

  1. 全局函数声明会变成全局对象的属性。
    全局对象是在进入执行上下文前创建的一个唯一的对象。
    在浏览器运行环境中,全局对象就是window对象。
  2. 属性访问可以使用 点标记法 或者 括号标记法 ,其中,使用点访问时需要使用标识符,而使用括号访问时使用的是标识符对应的字符串。

例如:

function test(str) { 
    alert(str); 
} 
window['test']('param'); //直接执行

window['test'].call(this,'param');//如果需要修改函数运行时的this

如果函数是其他对象的属性,也是同理调用。

保姆级教程:用Python+Mediapipe实时捕捉手势,驱动Unity虚拟手模型(附完整源码) 本文详细介绍了如何利用Python的Mediapipe库和Unity实现实时手势识别与虚拟手模型驱动。通过OpenCV进行图像采集,Mediapipe提供21个手部关键点识别,结合UDP通信协议实现Python与Unity之间的低延迟数据传输。教程包含完整源码、环境配置、核心代码实现及性能优化技巧,适用于VR教育、游戏开发等需要自然交互的场景。 阅读详情

相关推荐

Star CCM+ 实战:旋风分离器网格加密策略与湍流模拟优化

本文针对Star CCM+中旋风分离器模拟精度不足的常见问题,深入剖析了网格质量的关键影响。文章重点介绍了通过局部网格加密策略,精准优化旋流核心区与入口区域的网格密度,从而在保证计算效率的前提下,显著提升湍流模拟的准确性与流场细节的捕捉能力,为工程实践提供了一套有效的优化方案。

water的专栏 535

js字符串转函数

js字符串转函数 对于函数型的字符串,我们想要将其转换为一个函数然后执行,有2种常用的方法。 1.eval() eval()具有可以解析表达式的特性,所以可以利用这一特性将字符串解析为一个函数。 let funcStr = "function test(value){alert(value)}"; let test = eval("(false || "+funcStr+")"); t...

风火一回,一生不毁 2万+

GD32F407工程模板搭建全记录:从零整理固件库、创建文件夹到编译通过

本文详细记录了GD32F407工程模板的搭建过程,从固件库整理、目录规划到Keil环境配置,帮助开发者快速搭建可维护的嵌入式工程结构。重点介绍了开发环境搭建、工程目录设计、Keil配置及常见编译问题解决方案,适合嵌入式开发者参考。

weixin_29164497的博客 118

js 字符串转换数字

PS:今天用到了,一下子想不起来,所以写下来,省得下次又找~~方法主要有三种转换函数、强制类型转换、利用js变量弱类型转换。1. 转换函数:js提供了parseInt()和parseFloat()两个转换函数。前者把值转换成整数,后者把值转换成浮点数。只有对String类型调用这些方法,这两个函数才能正确运行;对其他类型返回的都是NaN(Not a Number)。 一

00's Blog 8678

利用MobaXterm解密Session密码的实战指南

本文提供了利用MobaXterm解密Session密码的详细实战指南,帮助运维工程师和开发者在忘记密码时找回加密存储的远程连接信息。通过Python脚本和注册表操作,逐步解析MobaXterm的AES加密机制,实现密码解密,并分享安全建议和常见问题解决方案。

weixin_26759093的博客 232

Unity热更实战:用YooAsset+HybridCLR实现小游戏资源与代码双更新(含避坑清单)

本文详细介绍了Unity小游戏开发中如何通过YooAsset与HybridCLR实现资源与代码双热更新方案。内容涵盖环境配置、架构设计、微信小游戏专项优化、热更代码工程化实践及真机调试技巧,帮助开发者解决审核周期长、紧急修复等痛点,提升更新效率与稳定性。

weixin_42520025的博客 502

【js将函数字符串变为函数】

可以将变为字符串的函数还原为可执行的函数。

qq_43298353的博客 925

主成分分析(PCA)简洁高效MATLAB实现详解

本文介绍了一个简洁高效的PCA算法实现。该实现通过SVD分解计算主成分,避免了显式协方差矩阵计算,支持两种降维方式:固定维度或按能量比例自动选择。核心步骤包括数据中心化、SVD分解和维度选择,代码量少但功能完整,适用于数据预处理、降维和特征提取等任务。实现中考虑了稀疏矩阵转换、默认参数处理等细节,可直接应用于MATLAB环境。

m0_62153576的博客 63

javascript里将函数名字符串转为函数并执行

javascript中,如何将函数名字符串转变为函数并执行?“用 eval ”,西蒙说。咋弄呢?类似地:var mess = "hello world!"; var func = "alert"; var f = eval(func + "(mess);");//hello world!可以写得复杂点:var frameRightSub = document.getElementById("fram

左直拳的马桶_日用桶 1万+

Python爬虫:抓取外卖平台餐厅菜单、价格与评价数据

美团外卖:国内领先的外卖平台之一,提供餐饮外卖、超市配送等服务。饿了么:另一大主流外卖平台,覆盖广泛的餐饮品类。等:国际性的外卖平台。在本文中,我们将以美团外卖为例,展示如何抓取餐厅的菜单、价格和评价等数据。我们会使用Python的爬虫库,如Scrapy和Selenium,来解决抓取任务。本文详细介绍了如何使用Python爬虫抓取外卖平台上的餐厅菜单、价格、评价等信息。我们展示了如何使用Scrapy和Selenium抓取静态与动态网页数据,如何清洗和存储数据,并讨论了如何应对外卖平台的反爬虫机制。

2201_76125261的博客 1499

Linux内核vmlinuz文件:了解和编程

vmlinuz文件是Linux操作系统中的内核镜像文件。它包含了Linux内核的压缩版本,用于引导和启动操作系统。vmlinuz文件通常是一个zImage格式的压缩内核镜像,其中包含了操作系统所需的核心功能和驱动程序。vmlinuz文件的名称可能会因Linux发行版和版本而有所不同,但它们的作用是相同的。在某些发行版中,vmlinuz文件可能被重命名为vmlinux或bzImage。

PixelDyno的博客 1351

js 各种数据类型互相转换的函数

【代码】js 各种数据类型互相转换的函数。

HRD的博客 1792

概念解析 | 雷达动态范围

这里存在一个动态范围的问题:强雷达发射信号和弱目标反射信号存在非常大的功率差异,比如传统的脉冲多普勒雷达动态范围可达90dB以上。随着上述技术的发展,预计未来十年雷达接收机动态范围将达到120dB以上,届时雷达的监视能力将得到极大增强。简单来说,雷达动态范围越大,表示接收机噪声越低,对强信号过载保护能力越强,就越能检测到弱信号目标。此外,部分新概念雷达对动态范围提出新的需求,如被动雷达动态范围需大于100dB。当前,随着阵列雷达和数字雷达技术的发展,对雷达接收机动态范围提出了更高要求。

NLOS的博客 1051

php 让字符串执行,JavaScript_js 把字符串当函数执行的方法,并且用js去执行: function tes - phpStudy...

js 把字符串当函数执行的方法并且用js去执行:[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]-------------------------------方法一。。。[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]这是方法二。。。。在checkbox的 value中 设定了 该checkbox要执行的 函数,而 方法的参数 就是将 当前点击的checkbox 做为参数传过去...

weixin_32115711的博客 153

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

js如何把字符串转为变量使用,以及js下将字符串当函数去执行的方法

1. js如何把字符串转为变量使用var a = 1;var b = 2;var demoA = 'a';var demoB = 'b';var value = eval('demoA') + eval('demoB');2. js下将字符串当函数去执行的方法function demo(text){     alert(text);}方法一:window["demo"]("方法一");方法二:ev...

damo的博客 1万+

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

js执行js字符串函数的方法

<script> var jsText = 'return function(){alert(1+1)}' var jscode = new Function(jsText)(); jscode(); </script>    转载于:https://www.cnblogs.com/iwe...

weixin_30478757的博客 166

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

vue,js 执行字符串函数的方法

项目中遇到需要执行后台返回的js字符串函数可以使用eval()方法进行解析运行 <template> </template> <script> export default{ data(){ return{ fun:'(function(){if(_this.planObj.grenn===0){return 10}else{return 11}})()', obj:{ green:0 } } }, create

A_Brave的博客 3996

js 把字符串、(方法名)变量,当对应函数执行 的多个方法演示

csdn大自然搬运测试当方法,演示如下:   function funName(a,b){return a+b}; undefined eval("funName")(1,2) 3 eval("funName(2,3)") 5 window["funName"](3,4) 7 var f=new Function("return "+"funName")(); f(5,6); 11 测...

weixin_38981413的博客 2651

字符串型的方法函数如何在js中执行

将字符串转袭换成对象就可以了 var bb ='function play(){alert("getplay");}'; var ss = bb; var ex = {getplay:eval("("+ss+")")}; ex.getplay();

weixin_42776027的博客 612

js:把字符串转为变量使用; js下将字符串当函数去执行的方法

1把字符串当变量使用 通过计算 string 得到的值(如果有的话)。该方法只接受原始字符串作为参数 demo: var type = "car"; var newStr = "type"; var x = 100; eval("2+2"); eval("type"); eval("x + 17"); console.log...

anjiye7641的博客 2130

BOM:延时函数、JS执行机制、location对象、navigator对象、history对象、本地存储(存储、获取、删除、修改)、字符串拼接、map方法、join方法、综合案例

<button>后退</button><button>前进</button>// 获取元素})})

2303_80098652的博客 1081

jq 函数引用变量_js或jquery里把字符串转换成变量名或函数名,并调用执行的方法...

js或jquery里把字符串转换成变量名或函数名,并调用执行的方法:03-14 22:17:1965次:0条4赞点赞简介在js或jquery里,把字符串转换成变量名或定义的函数名,并调用或执行与字符串同名的变量或函数。在js或者在jquery里,我们要如何把一个字符串转换成变量或者函数呢?比如,我们有这样的一个变量和函数:vara1="a111111";functionaijquery(){a...

weixin_39585886的博客 1800

JS函数

文章目录一 、函数的概念二、 创建函数的方法三、 函数的执行四、事件的分类五、作用域六、js的编译和执行七 、方法字符的方法数组的方法 一 、函数的概念 由一堆代码组成,能实现某个或多个功能的代码段,叫函数 主动执行或行为调用 二、 创建函数的方法 函数的创建:function fn(){…} 函数的执行:fn() 小括号会执行函数,小括号会将自身前面的内容作为函数执行,哪怕不是函数 声明式 function ( ) { … } ( 有名函数 )

weixin_53288138的博客 80

JS字符串执行

使用newFunction()构造函数来创建函数 // 将js字符串代码放入new Function(),禁止存在<script></script>标签 var jsData = new Function("console.log('-----打印信息-----')"); // 必须调用触发,否则不会执行 jsData(); ...

qq_28016751的博客 663

【Web】0基础学Web—函数、箭头函数、函数闭包、函数参数、js作用域、字符串

0基础学Web—函数、箭头函数、函数闭包、函数参数、js作用域、字符串函数函数声明函数调用函数事件调用函数匿名函数立即执行函数箭头函数函数闭包函数参数js作用域字符串字符串创建字符串方法字符串拼接字符串截取去除字符串首尾空格遍历其他 函数 function 函数名(形参){ 函数体 return val //只能return一个值 } 函数声明 <script> function add(a, b) { return a + b } let a = 10, b = 20 let c

2201_75539182的博客 1076

JavaScript 实现通过字符串调用函数、方法

JavaScript 实现通过字符串调用函数、方法

qq_42026600的博客 2052
上一篇: 重写ajax方法实现请求session过期时跳转登录页面
下一篇: Windows系统下更新npm和node
OrangeJuiceMe
博客等级 码龄11年 3粉丝 10原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值