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

当我的名字作为字符串时,如何执行JavaScript函数

当您的名字作为字符串时,可以使用以下方法执行JavaScript函数:

  1. 使用eval()函数:
代码语言:javascript
复制
var name = "John";
var functionName = "sayHello";
eval("var " + functionName + " = function() { console.log('Hello, ' + name + '!'); }");
sayHello();
  1. 使用new Function()构造函数:
代码语言:javascript
复制
var name = "John";
var functionName = "sayHello";
var func = new Function("console.log('Hello, " + name + "!');");
func.name = functionName;
window[functionName] = func;
sayHello();
  1. 使用window对象(在浏览器环境中):
代码语言:javascript
复制
var name = "John";
var functionName = "sayHello";
window[functionName] = function() { console.log('Hello, ' + name + '!'); };
sayHello();

在这些示例中,我们首先定义了一个名为name的变量,其中包含您的名字。然后,我们定义了一个名为functionName的变量,其中包含您希望为函数分配的名称。接下来,我们使用eval()函数或new Function()构造函数创建一个新的函数,并将其分配给window对象的属性。最后,我们调用该函数,它将输出“Hello, 您的名字!”。

请注意,这些示例仅适用于浏览器环境。在Node.js环境中,您需要使用global对象而不是window对象。

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

相关·内容

javascript如何字符串转成变量或可执行代码?

有这样一个需求:当前作用域内有未知一些变量,其中一个函数中可以拿到某个变量名字符串,怎么能在函数内通过传进来字符串取到作用域链中变量值,示例小 demo 如下: const name = '周小黑...' const age = 18 /** * @param {String} e 变量名字符串 * @returns value 通过变量名字符串在作用域链中取到变量值 */ function...return value } const str = fn('name') 要解决上面的问题,主要就是怎么将字符串转变成可执行代码?...主要有三种方式: eval() 函数 eval() 函数会将传入字符串当做 JavaScript 代码进行执行,所以下面的字符串可以正确取到变量对应值,eval 对比 new Function 和...setTimeout 定时器 setTimeout 第一个参数我们平时都是传一个函数,它其实也是可以传字符串进去,在浏览器中是可以正常执行,在node环境中会报错。

78030

JavaScript深入浅出第2课:函数是一等公民是什么意思呢?

例如,字符串在几乎所有编程语言中都是一等公民,字符串可以做为函数参数,字符串可以作为函数返回值,字符串也可以赋值给变量。 对于各种编程语言来说,函数就不一定是一等公民了,比如Java 8之前版本。...函数作为函数参数 回调函数(callback)是JavaScript异步编程基础,其实就是把函数作为函数参数。...将函数赋值给变量 JavaScript是可以定义匿名函数当我们定义有名字函数,通常是这样写: function hello() { console.log("Hello, Fundebug...函数作为函数返回值 通常来讲,函数返回值比较简单,比如数字、字符串、布尔值或者Object。由于JavaScript函数是第一公民,因此我们也可以在函数中返回函数。...当我们调用sayHello函数,它返回值sayHelloToFundebug实际是一个函数,我们需要调用所返回sayHelloToFundebug函数,它才会执行,打印对应信息:"Hello, Fundebug

79930
  • 如何JavaScript中使用高阶函数

    高阶函数接收函数作为参数 如果你做过很多JavaScript开发,你可能遇到过使用回调函数情况。 回调函数是一个在操作结束执行函数,一旦所有其他操作完成后便会执行。...请注意,我们把 proveIt 而不是 proveIt() 传递给我们 addEventListener 函数。 当你不带括号传递一个函数名字,你传递函数对象本身。...当你用圆括号传递函数,你是在传递执行函数结果。 返回函数 除了将函数作为参数之外,JavaScript还允许函数将其他函数作为结果返回。 这是说得通,因为函数是简单对象。...当我们将一个函数定义为一个高阶函数返回值,它可以作为函数模板。 假如你读了太多关于"千禧一代"文章,感到厌烦。你决定每当出现"千禧一代"这个词,你都要用 "蛇人"这个短语来代替它。...当我们将这个新函数定义为对attitude高阶函数引用,并预先填入它所接收前两个参数,我们会得到什么?

    1.5K40

    Salesforce Javascript(三) 小结1

    那么给你一个变量,如何知道它属于哪个类型呢?这个时候可以使用 typeof去做最简单区分。 typeof用于返回一个未经计算操作数类型。根据不同数据类型会返回不同结果。...值 解释 false false关键字 0 数值 0 -0 在数值中分成 +0 、-0,-0也被代表false On 当 BigInt 作为布尔值使用时, 遵从其作为数值规则. 0n 是 falsy...JavaScript字符串可用双引号 "", 单引号 '', 或 模板字面量 `` 定义。...函数表达式:下面声明了一个阶乘函数,用来算 3!值,我们可以看到前面使用一个变量 = function 形式,function可以有名字,也可以没有名字。比如下面的square函数就没有函数名称。...通过结果可以发现当我们使用函数表达式和函数声明式方式情况下,使用当前scope变量,当我们使用构造函数方式声明函数,不继承当前scope,需要使用全局变量。

    57631

    浏览器中JavaScript核心BOM(浏览器对象模型)重点掌握对象之Window对象属性与方法

    第四个参数是在第二个参数设置为一个已存在窗口名才生效,该参数为布尔值,当为true,第一个参数URL会替换掉窗口浏览历史的当前条目;当为false,会在窗口浏览历史中创建一个新条目 接下来我们来讲解这四个参数是如何使用...例如,我们设置该参数为 newWindow,第一次调用 open() 函数,会去查看当前浏览器是否有一个窗口名字叫做newWindow,若没有则会打开一个名为 newWindow 窗口,那当我们第二次调用...open() 函数,同样也会去查看当前浏览器是否有一个窗口名字叫做newWindow,因为第一次调用时候打开了一个这样窗口,所以我们浏览器只是会跳转到刚刚打开那个页面。...执行时,弹出一个消息框,字符串作为内容展示在框内,并且有 “确认” 和 “取消” 两个按钮,当点击 “确认” ,返回true;当点击 “取消” ,返回false。...prompt() 该方法传入一个字符串作为参数。执行时,弹出一个框,字符串作为内容展示在框内,并且框内还有一个文本框,用户可以在文本框内输入内容。

    1.7K20

    web前端如何准备面试工作??

    如图所示 [7xfd9lqw9u.png] 作为用户我们所关注是页面的构建和事件处理 页面构建又可以分为解析 HTML 代码并且构建文档对象模型 DOM 和执行 JavaScript 代码 [jr7qvdb7fq.png...执行上下文也分两种 全局执行上下文和函数执行上下文;当 JavaScript 程序开始执行时就已经创建了全局上下文;而函数执行上下文是在每次调用函数,就会创建一个新 页面构建完了之后变进入第二个阶段...如果去掉包裹函数表达式括号,把立即调用作为一个独立语句 function() {}(3),JavaScript 开始解析便会结束,因为这个独立语句以 function 开头,那么解析器就会认为它在处理一个函数声明...每个函数声明必须有一个名字(然而这里并没有指定名字),所以程序执行到这里会报错 问: var samurai = (() => "Tomoe")(); 和 var ninja = (() => {"Yoshi...再使用服务端返回结果” resolve(JSON.parse(this.request))//“尝试解析JSON字符串,倘若解析成功则执行resolve,并将解析后对象作为参数传入

    62610

    针对高级前端8个级JavaScript面试问题

    JavaScript 遇到 1 + '1' ,它会使用 + 运算符来处理这个表达式。+ 运算符有一个有趣特性,那就是当其中一个操作数是字符串,它更倾向于执行字符串连接。...在bar()函数内部,声明了一个变量a并赋值为 3。那么当bar()函数被调用时,你认为会输出哪个值a? 当JavaScript引擎执行这段代码,全局变量a被声明并赋值为5。...JavaScript如何处理对象转换为基本值,例如字符串、数字或布尔值。...当你在对象中使用除字符串之外任何值(例如,数字、对象或符号)作为JavaScript将在使用它作为键之前内部将该值转换为其字符串表示形式。...因此,当我们在对象a中使用对象b和c作为,两者都转换为相同字符串表示形式:[object Object]。

    21430

    针对高级前端8个级JavaScript面试问题

    JavaScript 遇到 1 + '1' ,它会使用 + 运算符来处理这个表达式。+ 运算符有一个有趣特性,那就是当其中一个操作数是字符串,它更倾向于执行字符串连接。...在bar()函数内部,声明了一个变量a并赋值为 3。那么当bar()函数被调用时,你认为会输出哪个值a? 当JavaScript引擎执行这段代码,全局变量a被声明并赋值为5。...JavaScript如何处理对象转换为基本值,例如字符串、数字或布尔值。...当你在对象中使用除字符串之外任何值(例如,数字、对象或符号)作为JavaScript将在使用它作为键之前内部将该值转换为其字符串表示形式。...因此,当我们在对象a中使用对象b和c作为,两者都转换为相同字符串表示形式:[object Object]。

    18410

    分享 8 个关于高级前端 JavaScript 面试题

    现在,我们等式是 '11' - 1。- 运算符行为恰恰相反。无论操作数类型如何,它都会优先考虑数字减法。当操作数不是数字类型JavaScript执行隐式强制转换,将其转换为数字。...JavaScript 如何处理对象到原始值(例如字符串、数字或布尔值)转换。...这是一个有趣问题,测试您是否知道强制转换如何与对象一起使用。 在字符串连接或算术运算等场景中处理对象,这种转换至关重要。...当您使用字符串以外任何值(例如数字、对象或符号)作为对象中JavaScript 会在将该值用作键之前在内部将该值转换为其字符串表示形式。...因此,当我们使用对象 b 和 c 作为对象 a 中,两者都会转换为相同字符串表示形式:[object Object]。

    52930

    42个实用JavaScript优化技巧

    如果返回false,则有可能正在执行其他函数,这些函数是专门在click内编写,而preventDefault则不允许执行任何操作。...当我们处理URL参数并想从URL中提取信息,这是最常见用法。 下面是一些我们可以从中获取字符串方法。...; console.log(reverse(data)); 27、如何JavaScript中将字符串转换为对象数组? 当我们从无法控制第三方API中获取一些数据,就会出现这种情况。...当我们格式化日期,更令人头疼,因为我们确实根据需求有不同要求。我们如何才能满足每个人需求?以下是广泛用于在JavaScript中格式化日期最常用方法。...${octet}$`); return regex.test(str); } 38、如何用JSON对JavaScript日期进行字符串化并保留时区 当我们要将任何特定日期格式值存储到JSON

    11.8K20

    实用 | 读源码,学JavaScript

    最初发明目的是作为一个简单网站脚本语言,来作为复杂网站应用java补充。但由于它与网页结合度很高并且由浏览器内置支持, 所以javascript变得比java在前端更为流行了。...' }}myFunction(); // = undefined// javascript函数是一等对象,所以函数也能够赋给一个变量,// 并且被作为参数传递 —— 比如一个事件处理函数:function...// 但这个函数访问其实是其运行时环境,而非定义环境,即取决于函数如何调用。// 所以如果函数被调用时不在这个对象上下文中,就不会运行成功了。...// 当我们通过`call`或者`apply`调用函数时候,也可以为其指定一个执行上下文。...// 这意味着当我们改变对象原型,会影响到其他以这个原型为原型对象。

    49840

    【JS】411- JS 进阶系列问题(47问)

    因为当我们打印 name 变量还没有执行到定义变量位置,因此变量值保持为 undefined。 通过 let 和 const 关键字声明变量也会提升,但是和 var 不同,它们不会被初始化。...替代者(replacer)可以是个函数或数组,用以控制哪些值如何被转换为字符串。 如果替代者(replacer)是个 数组 ,那么就只有包含在数组中属性将会被转化为字符串。...函数返回值会成为这个属性值,最终体现在转化后JSON字符串中(译者注:Chrome下,经过实验,如果所有属性均返回同一个值时候有异常,会直接将返回值作为结果输出而不会输出JSON字符串),而如果返回值为...reducer 函数还有一个可选参数initialValue, 该参数将作为第一次调用回调函数第一个参数值。如果没有提供initialValue,则将使用数组中第一个元素。...当我们调用game.next("Yes").value,先前 yield 返回值将被替换为传递给next()函数参数"Yes"。

    2.3K50

    金九银十: 50 个JS 必须懂面试题为你助力

    一个匿名函数可以分配给一个变量,它也可以作为参数传递给另一个函数。 问题11:JS中参数对象是什么&如何获得传递给函数参数类型 JS 变量arguments表示传递给函数参数。...在方法中,这指的是所有者对象,而在函数中,这指的是全局对象。 问题14:什么是回调 回调函数作为参数或选项传递给某个方法普通JS函数。它是一个函数,在另一个函数完成执行执行,因此称为回调。...当我妈妈叫沙雕时候,虽然我名字叫小智,但这并不是说我就突然就克隆了一个自己:我仍然是我,只是可以用不同名字来称呼我而已。...问题 37:如何在JS中将任意基字符串转换为整数 parseInt(string, radix) 将一个字符串 string 转换为 radix 进制整数, radix 为介于2-36之间数,如下...函数定义只能有一个引用变量作为函数名。 问题49:为什么要将JS源文件全部内容包装在一个函数中 这是一种越来越普遍做法,被许多流行JS库所采用。

    6.6K31

    Dan Abramov脑中JS知识图谱

    例如,2是一个数字字面量,而 "Banana "是一个字符串字面量。 变量。变量让你用一个名字来指代某个值。例如,let message = "Cows go moo"。...你不会自己把它传给一个函数。相反,JavaScript自己会传递它,这取决于你如何调用函数。...当我们从函数中返回,那个 "房间 "和它所有变量一起消失了。你可以把这些房间想象成一个垂直房间堆栈——一个调用堆栈。当我们退出一个函数,我们会回到它在调用栈中 "下面 "函数。 递归。...回调并不是一个真正JavaScript术语。它更像是一种模式。它是指你把一个函数作为参数传递给另一个函数,期望它稍后能回调你函数。你在期待一个 "回调"。...Just JavaScript是我提炼出来关于JavaScript如何工作心智模型,它将以惊人Maggie Appleton视觉插图为特色。

    1.8K73

    看完这几道 JavaScript 面试题,让你与考官对答如流(中)

    闭包只是函数记住其当前作用域,父函数作用域和全局作用域变量引用能力。 当我们在全局作用域内使用var关键字声明变量,就创建全局变量i。...因此,当我们单击li元素,它将打印5,因为这是稍后在回调函数中引用它i值。...JavaScript支持闭包和高阶函数函数式编程语言特点。 32. 什么是高阶函数? 高阶函数只是将函数作为参数或返回值函数。...什么是回调函数? 回调函数是一段可执行代码段,它作为一个参数传递给其他代码,其作用是在需要时候方便调用这段(回调函数)代码。...在JavaScript函数也是对象一种,同样对象可以作为参数传递给函数,因此函数也可以作为参数传递给另外一个函数,这个作为参数函数就是回调函数

    2K10

    JavaScript 面试必备基础知识梳理(71个知识点)

    如果函数在主代码流中被声明为单独语句,则称为“函数声明”。 如果该函数作为表达式一部分创建,则称其“函数表达式”。 在执行代码块之前,内部算法会先处理函数声明。...所以函数声明在其被声明代码块内任何位置都是可见函数表达式在执行流程到达创建。 在大多数情况下,当我们需要声明一个函数,最好使用函数声明,因为函数在被声明之前也是可见。...我们介绍了它们一些属性: name —— 函数名字。通常取自函数定义,但如果函数定义没设定函数名,JavaScript 会尝试通过函数上下文猜一个函数名(例如把赋值变量名取为函数名)。...这个名字可以用于在该函数内部进行自调用,例如递归调用等。 此外,函数可以带有额外属性。很多知名 JavaScript 库都充分利用了这个功能。...当我们绑定一个现有的函数某些参数,绑定后(不太通用函数被称为 partially applied 或 partial。 当我们不想一遍又一遍地重复相同参数,partial 非常有用。

    1.2K10

    【网络知识补习】❄️| Cookie详解 和 Document.cookie使用文档+运行实例

    字符串 JavaScript Cookie 实例 设置 cookie 值函数 获取 cookie 值函数 完整实例 ????...Cookie 作用就是用于解决 “如何记录客户端用户信息”: 当用户访问 web 页面,他名字可以记录在 cookie 中。...cookie 值,您必须创建一个JavaScript 函数在 cookie 字符串中查找 cookie 值。...在这个实例中我们会创建 3 个 JavaScript 函数: 设置 cookie 值函数 获取 cookie 值函数 检测 cookie 值函数 设置 cookie 值函数 首先,我们创建一个函数用于存储访问者名字...一个小框架:一个完整支持unicodecookie读取/写入器 作为一个格式化过字符串,cookie值有时很难被自然地处理。

    98530

    50 个JS 必须懂面试题为你助力金九银十

    一个匿名函数可以分配给一个变量,它也可以作为参数传递给另一个函数。 问题11:JS中参数对象是什么&如何获得传递给函数参数类型 JS 变量arguments表示传递给函数参数。...在方法中,这指的是所有者对象,而在函数中,这指的是全局对象。 问题14:什么是回调 回调函数作为参数或选项传递给某个方法普通JS函数。它是一个函数,在另一个函数完成执行执行,因此称为回调。...当我妈妈叫沙雕时候,虽然我名字叫小智,但这并不是说我就突然就克隆了一个自己:我仍然是我,只是可以用不同名字来称呼我而已。...问题 37:如何在JS中将任意基字符串转换为整数 parseInt(string, radix) 将一个字符串 string 转换为 radix 进制整数, radix 为介于2-36之间数,...函数定义只能有一个引用变量作为函数名。 问题49:为什么要将JS源文件全部内容包装在一个函数中 这是一种越来越普遍做法,被许多流行JS库所采用。

    4.6K30

    面试前必备 JavaScript 基础知识梳理总结

    如果函数在主代码流中被声明为单独语句,则称为“函数声明”。 如果该函数作为表达式一部分创建,则称其“函数表达式”。 在执行代码块之前,内部算法会先处理函数声明。...所以函数声明在其被声明代码块内任何位置都是可见函数表达式在执行流程到达创建。 在大多数情况下,当我们需要声明一个函数,最好使用函数声明,因为函数在被声明之前也是可见。...我们介绍了它们一些属性: name —— 函数名字。通常取自函数定义,但如果函数定义没设定函数名,JavaScript 会尝试通过函数上下文猜一个函数名(例如把赋值变量名取为函数名)。...这个名字可以用于在该函数内部进行自调用,例如递归调用等。 此外,函数可以带有额外属性。很多知名 JavaScript 库都充分利用了这个功能。...当我们绑定一个现有的函数某些参数,绑定后(不太通用函数被称为 partially applied 或 partial。 当我们不想一遍又一遍地重复相同参数,partial 非常有用。

    80720
    领券