首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何计算javascript字符串并从中调用函数(无窗口)

在无窗口环境下计算JavaScript字符串并调用函数,可以使用eval()函数或者Function()构造函数来实现。

  1. eval()函数:eval()函数可以将字符串作为JavaScript代码进行解析和执行。它接受一个字符串作为参数,并将其作为JavaScript代码进行计算。例如:
代码语言:txt
复制
var str = "2 + 3";
var result = eval(str); // 计算字符串中的表达式
console.log(result); // 输出结果为 5

需要注意的是,使用eval()函数执行字符串中的代码存在安全风险,因为它可以执行任意的JavaScript代码。因此,在实际应用中,应该避免使用eval()函数来执行不可信任的字符串。

  1. Function()构造函数:Function()构造函数可以动态地创建一个新的函数对象。它接受多个参数,最后一个参数为函数体的字符串形式,前面的参数为函数的参数名。通过将字符串作为函数体传递给Function()构造函数,可以创建一个可执行的函数。例如:
代码语言:txt
复制
var str = "console.log('Hello, World!');";
var func = new Function(str); // 创建一个新的函数对象
func(); // 调用函数,输出结果为 "Hello, World!"

同样地,使用Function()构造函数执行字符串中的代码也存在安全风险,应该避免执行不可信任的字符串。

总结起来,无窗口环境下计算JavaScript字符串并调用函数可以使用eval()函数或者Function()构造函数。但是需要注意安全风险,避免执行不可信任的字符串。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

JavaScript 网页脚本语言 由浅入深

一种描述性语言,也是一种基于对象和事件驱动的,具有安全性能的脚本语言 javaScript是一种基于对象和事件驱动的,具有安全性能的脚本语言 解释执行 javaScript特点 向HTML页面中添加交互行为...可以包含在文档的任何地方,只要保证这些代码在被使用时已经读取加载到内存中即可 javaScript核心语法 核心语法 变量 数据类型  数组  运算符号  控制语句  注释   输入输出...:系统函数和自定义函数 parsint("字符串") 将字符串转换为整数数字 parseFloat("字符串") 将字符串转换为浮点数字 ISNAN() 用于检查其参数是否是非数字 自定义函数 定义函数...  (函数) (有参函数) function 函数名 (参数1,参数2,参数3.....){ //javaScript语句 [return 返回值]---可有可无 调用函数 函数调用一般和表单元素事件一起使用...open()   打开一个新的浏览器窗口,加载给定URL所指定的文档 setTimeout()  在指定的毫秒后调用函数计算表达式 setinterval()  按照指定的周期(以毫秒计)来调用函数或者表达式

1.8K100

前端基础:JavaScript

基本数据类型 需要转换成字符串可以直接调用 toString() 方法,转换成数字可以使用 parseInt(值) 和 parseFloat(值)。 Number 数值类型包含整数与小数。...Symbol 是 ES6 引入了一种新的原始数据类型,表示独一二的值。 引用数据类型 一般是指类或对象,在 JavaScript 中它是不具有真实类。...switch 语句 switch 与 java 中使用相同,它也可以允许比较字符串。 迭代语句( 循环语句 ) while 语句是前测试循环。这意味着退出条件是在执行循环内部的代码之前计算的。...do-while 语句是后测试循环,即退出条件在执行循环内部的代码之后计算。 for 循环 for 语句是前测试循环,而且在进入循环之前,能够初始化变量,定义循环后要执行的代码。...for-in 语句是严格的迭代语句,用于枚举对象的属性 函数 JavaScript 使用关键字 function 定义函数

69320
  • JavaWeb03-轻松理解JS(Java真正的全栈开发)

    当不用 new 运算符调用 String() 时,它只把 s 转换成原始的字符串返回转换后的值。...注意: 调用函数的时候参数个数可以不一样. javascript中有一个特殊的对象arguments,我们可以通过它来获取所有函数中的参数....函数返回值: 对于javascript来说,我们不必须在创建函数时,来声明其返回值类型,返回值也不需要使用void来声明,但是,如果一个函数要想返回结果,我们在函数中必须使用return来返回结果,return...定时器 setInterval(代码或者函数,间隔时间) 按照指定的周期(以毫秒计)来调用函数计算表达式。...setTimeout(代码或者函数,间隔时间) 在指定的毫秒数后调用函数计算表达式。 clearTimeout() 取消由 setTimeout() 方法设置的 timeout。

    1.4K120

    【前端面试题】03—200+道常见JavaScript基础面试题上(附答案)

    提示:垃圾回收器定期扫描对象,计算引用了每个对象的其他对象的数量。如果一个对象的引用数量为0(没有其他对象引用过该对象),或对该对象的唯一引用是循环的,那么该对象占用的内存立即被回收。...它的功能是把对应的字符串解析成 Javascript代码运行应该避免使用eval,它会造成程序不安全,非常影响性能(执行两次,一次解析成JavaScript语句,一次执行) 38、["1,"2,"3"...parselnt()函数解析一个字符串参数,返回一个指定基数的整数。parselnt()将要转换的字符串作为其第一个参数,第二个参数是给定字符串的转换进制基数。...为了检测客户端机器上的操作系统,应使用 navigator.app Version字符串(属性)。 72、JavaScript中的null表示什么? null用于表示值或对象。...void(0)用于防止页面刷新,并在调用时传递参数“0”。 void(0)用于调用另一种方法而不刷新页面。 76、如何强制页面加载 JavaScript中的其他页面?

    4.5K10

    自动化测试最新面试题和答案

    它包含用JavaScript编写的函数定义。 因为Selenium的核心是用JavaScript开发的,所以要符合原语言的标准规则来创建扩展。要创建一个扩展,我们必须用下面的设计格式来编写函数。...// 样例 Selenium.prototype.doFunctionName = function(){ } 函数名称前面的“do”告诉Selenium这个函数可以被调用为一个步骤命令,而不是作为内部函数或私有函数调用...Selenium RC无法支持头HtmlUnit浏览器。它需要一个真正的、可见的浏览器来操作。Web Driver可以支持头HtmlUnit浏览器。...例如 -如果我们想要前进,做一些功能,返回到主页。 这可以通过调用方法来实现。...AJAX代表异步JavaScript和XML。它不依赖于创建有效的XML所需的打开和关闭标签的额外开销。大部分时间WebDriver自动处理Ajax控件和调用

    5.8K20

    50道常见的js面试题

    在Javscript中,解析器在向执行环境中加载数据时,对函数声明和函数表达式并非是一视同仁的,解析器会率先读取函数声明,使其在执行任何代码之前可用(可以访问),至于函数表达式,则必须等到解析器执行到它所在的代码行...2、调用函数时,应该提供的参数没有提供,该参数等于undefined。 3、对象没有赋值的属性,该属性的值为undefined。 4、函数没有返回值时,默认返回undefined。...34.Cookie在客户机上是如何存储的 Cookies就是服务器暂存放在你的电脑里的文本文件,好让服务器用来辨认你的计算机。...35.如何获取javascript三个数中的最大值和最小值?...(3)JSON的语法表示三种类型值,简单值(字符串,数值,布尔值,null),数组,对象 42.js中的3种弹出式消息提醒(警告窗口,确认窗口,信息输入窗口)的命令式什么?

    3.5K10

    编程篇(002)-js实现一个打点计时器

    () { clearInterval(timer) } } } count(1, 10); 知识点: setTimeout( )方法用于在指定的毫秒数后调用函数计算表达式...setInterval( ) 方法可按照指定的周期(以毫秒计)来调用函数计算表达式。...语法:setInterval(code ,millisec[,"lang"]) setInterval()方法会不停地调用函数,直到 clearInterval() 被调用窗口被关闭。...注意:两个方法的第一个参数可以是字符串,也可以是函数 (1)如果是字符串, 则参数是 要执行的javascript代码串(加双引号), 当 作普通javascript语句执行即可 。...(3)如果是函数名(括弧),则参数是该函数对象 (不加双引号) 本身,即真正执行的就是函数中的语句,且与返回值无关,作用是【函数调用】。

    1.8K20

    174道JavaScript 面试知识点总结(上)

    详细资料可以参考: 《JavaScript 字符串间的比较》 29、如何字符串转化为数字,例如 '12.3b'? (1)使用 Number() 方法,前提是所包含的字符串不包含不合法字符。...(2)使用 parseInt() 方法,parseInt() 函数可解析一个字符串返回一个整数。还可以设置要解析的数字的基数。...(3)使用 parseFloat() 方法,该函数解析一个字符串参数返回一个浮点数。 (4)使用 + 操作符的隐式转换。...《JavaScript 深入理解之 this 详解》 39、 eval 是做什么的? 它的功能是把对应的字符串解析成 JS 代码运行。...如何解决这个问题? 当计算计算 0.1+0.2 的时候,实际上计算的是这两个数字在计算机里所存储的二进制,0.1 和 0.2 在转换为二进制表示的时候会出现位数无限循环的情况。

    1.6K10

    递归的递归之书:引言到第四章

    在浏览器中运行 JavaScript 代码示例 您的计算机的 Web 浏览器可以运行 JavaScript 程序显示它们的输出,但要编写 JavaScript 代码,您需要一个文本编辑器。...当c()函数调用结束时,程序返回到b()函数显示b()正在返回。然后b()函数调用结束,程序返回到a()函数显示a()正在返回。最后,程序返回到程序末尾的原始a()函数调用。...堆栈溢出不会损坏计算机。计算机只是检测到函数调用的限制已经达到终止程序。最坏的情况下,你会丢失程序中的任何未保存的工作。堆栈溢出可以通过有一个叫做基本情况的东西来防止,接下来会解释。...暂时忘记我们函数的实现,专注于它的输入和输出:rev()接受一个字符串参数,返回一个将参数的字符反转的字符串。 考虑如何实现像rev()这样的递归函数可能很困难,因为它涉及到一个鸡和蛋的问题。...零个或一个字符的字符串,它返回True,因为它总是一个回文。 递归函数调用传递了什么参数?字符串参数的中间字符。 这个参数如何变得更接近基本情况?

    62410

    前端学习资料整理

    this 在 JavaScript 中主要由以下五种使用场景。 作为函数调用,this 绑定全局对象,浏览器环境全局对象为 window 。...它的功能是把对应的字符串解析成JS代码运行; 应该避免使用eval,不安全,非常耗性能(2次,一次解析成js语句,一次执行)。 什么是window对象? 什么是document对象?...一个属性名称的字符串值。 如果 object 具有指定名称的属性,那么JavaScript中hasOwnProperty函数方法返回 true,反之则返回 false。 JSON 的了解?...(1)创建XMLHttpRequest对象,也就是创建一个异步调用对象 (2)创建一个新的HTTP请求,指定该HTTP请求的方法、URL及验证信息 (3)设置响应HTTP请求状态变化的函数 (4)发送...垃圾回收器定期扫描对象,计算引用了每个对象的其他对象的数量。如果一个对象的引用数量为 0(没有其他对象引用过该对象),或对该对象的惟一引用是循环的,那么该对象的内存即可回收。

    3.4K20

    JavaScript如何工作的:Web Workers的构建块+ 5个使用他们的场景

    这是专门探索 JavaScript 及其所构建的组件的系列文章的第7篇。 如果你错过了前面的章节,可以在这里找到它们: JavaScript如何工作的:引擎,运行时和调用堆栈的概述!...JavaScript如何工作的:深入V8引擎&编写优化代码的5个技巧! JavaScript如何工作:内存管理+如何处理4个常见的内存泄漏 !...看一个简单的函数计算一个数字数组的平均值: 以下是重写上述代码“模拟”异步性的方法: function averageAsync(numbers, callback) { var len =...来看一个示例,通过将 JSON 对象作为一个更“复杂”的示例传递,创建 Worker 的页面如何与之通信。传递字符串跟传递对象的方式也是一样的。...当消息到达时,实际的计算在worker中执行,而不会阻塞事件循环。Worker 检查传递的事件参数 e,像执行 JavaScript 函数一样,处理完成后,把结果传回给主页。

    81310

    JavaScrtip之JS最佳实践

    featrues:这个参数是以逗号分隔的一个字符串,他的内容是新窗口的各种属性,如新窗口的宽,高,以及新窗口被启用或禁用的各种浏览器的各种浏览功能(工具条、菜单条、初始显示位置等等); open()方法是使用...,所以把新的url地址传给此函数时,这个函数将把新窗口的现有文档替换成新url地址处的文档,而不是去新创建一个窗口!...我们将这个函数存入一个外部文件,当需要在某个网页里使用这个函数时,只要导入这个外部文件即可.倒入外部文件后: 1.使用"javascript:"伪协议使用popUp()方法 "真"协议用来在因特网上计算机之间传输数据包...javascript:"伪协议让我们通过一个链接来调用JavaScript函数 下面是通过"javascript:"伪协议调用popUp()函数的具体方法: <a href="<em>javascript</em>...2.使用内嵌的事件处理<em>函数</em> 事件处理<em>函数</em>将通过onclick方法来<em>调用</em>popUp()具体实现方式和我之前在JS图片库的第一版一样http://www.cnblogs.com/GreenLeaves/

    2.1K50

    JavaScript学习笔记+常用js用法、范例(一)

    函数: function 函数名 (参数){ 函数体; return 返回值;} 参数没类型或顺序,且可变长;可以使用变量、常量或表达式作为函数调用的参数 声明函数时,参数可不明写,调用时用 arguments...== 0 ) throw Error.parameterCount(); caller: 调用函数函数。没有被调用则此变量为 null arguments: 此函数的参数列表。...,后面不再理) //如 parseInt(“13a2”)=13 函数 parseFloat: 强制转换成浮点数 函数 eval: 将字符串强制转换为表达式返回结果,亦可将字节或变量转成数值。...错误对象;Function函数对象; RegExp正则表达式对象;Global全局对象 自动创建对象:调用字符串的对象属性或方法时自动创建对象,用完就丢弃。...blur(); 失去焦点触发 onblur 事件。 moveBy(iX, iY); 将窗口的位置移动指定 x 和 y 偏移值。

    2.1K10
    领券