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

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环境中会报错。

33930

前端JS手写代码面试专题(一)

这一步目的是把整个字符串拆分成可以单独操作小块,即单词。 接下来,通过 reverse() 方法,我们这个数组单词顺序颠倒。...这里需要注意一点是,虽然问题要求不覆盖现有属性,但这个解决方案实际上属性名冲突时会obj2属性为准。这是因为合并时,后面对象属性会覆盖前面对象同名属性。...通过创建一个新对象来合并属性,原始对象obj1和obj2保持不变,这在很多情况下非常有用,比如当你需要保留原始数据不变时。 4、如何以最简洁方式获取格式为“YYYY-MM-DD”的当前日期呢?...然后,使用扩展运算符...将计算结果追加到累加器数组。 这种方法好处在于它既保持了原始数组不变,又以一种非常简洁方式实现了累加求和。...8、如何包含连字符(-)和下划线(_)字符串转换为驼峰命名风格呢? JavaScript开发,对字符串处理是日常任务不可或缺一部分。

9710
您找到你想要的搜索结果了吗?
是的
没有找到

JavaScript 编程精解 中文第三版 四、数据结构:对象和数组

你必须某种方式提取数字,并将它们转换回数字才能访问它们。 幸运是,JavaScript提供了一种数据类型,专门用于存储一系列值。...如果你有一个包含"cat"字符串,其他代码不可能修改你字符串一个字符,来使它变成"rat"。 对象工作方式不同。你可以更改其属性,使单个对象值不同时间具有不同内容。...前面说过,这些值是不变,不能改变。 但这些类型包含一些内置属性。每个字符串包含了若干方法供我们使用,最有用方法可能就是slice和indexOf了,它们功能与数组同名方法类似。...如果你想稍后数据保存到文件,或者通过网络将其发送到另一台计算机,则必须某种方式这些内存地址线团转换为可以存储或发送描述。...它被广泛用作 Web 上数据存储和通信格式,即使 JavaScript 以外语言中也是如此。 JSON 看起来像 JavaScript 数组和对象表示方式,但有一些限制。

1.8K100

分享63个最常见前端面试题及其答案

如果有不对地方,欢迎指出,我们一起交流学习进步。 现在,让我们简洁明了方式探讨这些问题解决方案: 01、什么是事件传播?...闭包是函数返回后保持对函数变量访问一种方式。闭包通常用于数据隐私、封装和创建具有持久状态函数。...Hoisting是 JavaScript 在编译阶段变量和函数声明移动到各自作用域顶部过程。这允许代码声明变量和函数之前使用它们。...本机对象(如数组字符串)是 ECMAScript 规范一部分,它们行为由语言本身定义。 22、解释可变对象和不可变对象之间区别。JavaScript 不可变对象示例是什么?...不变优点和缺点是什么?如何在自己代码实现不变性? 可变对象可以随着时间推移改变其状态,而不可变对象创建后不能修改。JavaScript 不可变对象一个例子是字符串

4.2K20

分享 63 道最常见前端面试及其答案

如果有不对地方,欢迎指出,我们一起交流学习进步。 现在,让我们简洁明了方式探讨这些问题解决方案: 01、什么是事件传播?...闭包是函数返回后保持对函数变量访问一种方式。闭包通常用于数据隐私、封装和创建具有持久状态函数。...Hoisting是 JavaScript 在编译阶段变量和函数声明移动到各自作用域顶部过程。这允许代码声明变量和函数之前使用它们。...本机对象(如数组字符串)是 ECMAScript 规范一部分,它们行为由语言本身定义。 22、解释可变对象和不可变对象之间区别。JavaScript 不可变对象示例是什么?...不变优点和缺点是什么?如何在自己代码实现不变性? 可变对象可以随着时间推移改变其状态,而不可变对象创建后不能修改。JavaScript 不可变对象一个例子是字符串

17630

50道JavaScript详解面试题,你需要了解一下

JavaScript,我们处理大多数事物都是对象,类似地,数组只是JavaScript特殊对象,它们具有其他对象所没有的属性。 7、以下函数返回类型是什么?...20、创建字符串后,我们可以修改它吗? 不可以,因为字符串JavaScript是不可变,指向字符串变量可以分配给另一个字符串。 21、承诺链嵌套捕获可以捕获承诺链向上抛出错误吗?...但是,可以JavaScript通过未将所有可能参数都传递给函数时返回不同输出来执行重载。 29、return语句在数组forEach循环中做什么?...当两个线程或异步进程必须完成自身操作更新某些共享状态时,否则将出现错误或不良结果。 43、class关键字JavaScript中有什么作用?...它返回h,因为数组JavaScript是从零开始,因此arr [2] [1]将可以访问外部数组第3个元素和内部数组第2个元素,从而得出值“ h”。

3.5K40

Js面试题__附答案

26、解释JavaScriptpop()方法? pop()方法与shift()方法类似,但不同之处在于Shift方法在数组开头工作。此外,pop()方法最后一个元素从给定数组取出并返回。...34、JavaScript中使用Push方法是什么? push方法用于一个或多个元素添加或附加到数组末尾。使用这种方法,可以通过传递多个参数来附加多个元素。...35、什么是JavaScriptunshift方法? Unshift方法就像在数组开头工作push方法。该方法用于一个或多个元素添加到数组开头。 36、对象属性如何分配?...Closure是与函数返回时保留在内存函数相关本地声明变量。 例如: ? 40、一个值如何附加到数组?...可以给定方式值附加到数组: arr [arr.length] = value; 41、解释for-in循环? for-in循环用于循环对象属性。

8.8K30

JavaScript 解构5个有趣用法

本文中,除了基本用法之外,我还将会介绍 JavaScript 5 种有趣解构用法。 1. 交换变量 通常交换两个变量方法需要一个附加临时变量。...从 color 数组为索引为 1 元素分配了 secondColor。 3.不变操作 当我开始用 React 以及后来 Redux 时,被迫编写尊重不变代码。...尽管一开始遇到了一些困难,但后来我看到了它好处:单向数据流更容易处理。 不变性禁止更改对象。幸运是,解构可以帮你轻松地不变方式完成某些操作。 结合使用 ......numbers 数组不会发生变异,从而使操作保持不变。 你可以不变方式从对象删除属性。...解构可迭代对象 在前面的章节,我们解构应用于数组。但是你可以解构实现了可迭代协议任何对象。 许多原生原始类型和对象都是可迭代数组字符串、类型化数组、集合和映射。

89810

ASP.NET AJAX(5)__JavaScript原生类型以及Microsoft AJAX Library什么是Microsoft AJAX LibraryObject原生类型Object.pro

属性:数组长度,W/R toString()/toLocalString()方法:返回逗号分割字符串 concat([item1[,item2[,…]]])方法:添加元素,返回一个新数组,原数组不变...[,…]]])方法:在数组头添加一个或多个元素 Array.prototype join(separator)方法:返回separator作为分隔符得到一个连接所有元素字符串 reverse()方法...(array,item)//入队列,item添加到array末尾 Array.dequeue(array)//出队列,返回并删除array第一元素 Array.addRange(array.items...(value)//表示数组JSON字符串变味一个数组对象 Array.indexOf(array,item,start)//获得itemarray下标,从下标start开始查找,不存在则返回-...():字符串转化为大写 toLowerCase():字符串转化为小写 split(str):分割字符串数组 substring(start[, end])   从下标start开始,到下标end-

1.2K70

如何在JavaScript中使用数组方法:Mutator方法

本教程,我们重点介绍mutator方法。 为了充分利用本教程,您应该熟悉创建,索引,修改和循环数组,您可以“ 了解JavaScript数组”一节查看。...另一方面,数组是可变,这意味着许多数组方法影响原始数组,而不影响数组副本。 本教程通过添加和删除元素,反转,替换或以其他方式修改数组元素。...我们修改我们原始数组,以便我们一个字符串大写字母开头。...我们可以再次修改数组在其中一个字符串包含一个数字。...sort()是一个mutator方法,并将更改应用于原始数组。 结论 本课,我们回顾了JavaScript主要mutator数组方法。

1.7K20

JavaScriptJavaScript 几个标准阐述

IE8更低版本浏览器不能直接使用JSON解析方法。 不过,可以浏览器添加es5-shim.js来增加浏览器对ES5功能支持。...,附上webpack方式链接 以及你在运行过程可能会遇上坑 ES6对ES5进行了补充于增强,形成了一个完整特性集合。...; ● let、const全局作用域下声明变量不会作为属性添加到全局作用域对象里面,与var不同; ● let、const执行速度比var快65%左右; 使用场景: ● 模块内不变引用和常量...实际项目中,用ES6转译工具ES6代码转为ES5,格式可能会丢失。因为ES5没有字符串模板格式。 箭头函数 这个短函数声明更加方面。...但是遍历数组最佳方式是for…of。另外其也能用来遍历Map 、 Set 集合。 迭代器 Interator迭代器让遍历数组、对象和集合方式更加灵活。

20510

JavaScript Cookie

Cookie 名/值对形式存储,如下所示: username=John Doe 当浏览器从服务器上请求 web 页面时, 属于该页面的 cookie 会被添加到该请求。...读取 Cookie JavaScript , 可以使用以下代码来读取 cookie: var x = document.cookie; document.cookie 将以字符串方式返回所有的...新 cookie 加到 document.cookie ,所以如果您重新读取document.cookie,您将获得如下所示数据: cookie1=value; cookie2=value; 显示所有...---- JavaScript Cookie 实例 以下实例,我们创建 cookie 来存储访问者名称。 首先,访问者访问 web 页面, 他将被要求填写自己名字。...使用分号来分割 document.cookie 字符串,并将分割后字符串数组赋值给 ca (ca = document.cookie.split(';'))。

54130

重学Javascript之引用类型

引用类型值(对象)是引用类型一个实例。ES,引用类型是一种数据结构,用于数据和功能组织在一起,也被称之为类。...()和 valueOf() 方法会返回相同值,即由数组每个值字符串形式拼接而成逗号分隔字符串。...、toString()、valueOf 方法 默认情况下都会逗号分隔字符串形式返回数组项。...,那么该值join()、toLocaleString()、toString()、valueOf()方法返回字符串空表示 2.2 栈方法 ES 数组也提供了一个让数组行为类似于其他数据结构方法...规则: 默认创建当前数组副本,然后接受到参数添加到这个副本末尾,返回新建数组 没有传递参数,就复制当前数组并返回 传递了一个或多个数组,则将这些数组每一项添加到结果数组

1.2K20

一篇文章完全掌握 JavaScript 数组操作

开始之前,你需要先了解数组真正含义。 JavaScript 数组是一个用于存储不同数据类型变量。它将不同元素存储一个盒子,供以后使用。...箭头功能是ES6功能。 ---- toString() toString() 方法能够数组转换为逗号分隔字符串。...总结 toString() - 数组转换为逗号分隔字符串。 join() - 所有数组元素组合成一个字符串。...concat - 两个数组组合在一起,或者更多项添加到数组,然后返回一个新数组。 push() - 项目添加到数组末尾,改变原始数组。..."] post slug ,用连字符连接返回数组,然后将它与类别字符串和主 url 连接到一起。

1.1K30

JavaScript 编程精解 中文第三版 十、模块

为了这种方式分离模块,每个模块需要它自己私有作用域。 将你 JavaScript 代码放入不同文件,不能满足这些要求。 这些文件仍然共享相同全局命名空间。...包中发现问题或添加新功能时,会将包更新。 现在依赖它程序(也可能是包)可以升级到新版本。 这种方式工作需要基础设施。 我们需要一个地方来存储和查找包,以及一个便利方式来安装和升级它们。...很久以前,语言某个计划性扩展添加到实际运行 JavaScript 平台之前,人们就开始使用它了。...一个稍微复杂数据结构示例是第 7 章图。JavaScript 没有一种明显表示图方式。 在那一章,我们使用了一个对象,其属性保存了字符串数组 - 可以从某个节点到达其他节点。...js后缀通常会添加到包名称表明它们用 JavaScript 编写。 这个dijkstrajs包使用类似于我们格式,但是它不使用数组,而是使用对象,它属性值是数字 - 边权重。

52020

JavaScript对象整理

fromCharCode() indexOf() lastIndexOf() index和lastIndexOf这两个方法用于确定一个字符串另一个字符串位置,如果返回-1,就表示不匹配。...6.2.4   join方法,concat方法 join方法参数作为分隔符,所有数组成员组成一个字符串返回。如果不提供参数,默认用逗号分隔。...concat方法数组成员,添加到数组尾部,然后返回一个新数组,常用于连接多个数组。...6.2.7   slice方法 slice方法返回指定位置数组成员组成数组,原数组不变。它第一个参数为起始位置(从0开始),第二个参数为终止位置(但该位置元素本身不包括在内)。...最后给大家推荐一个JavaScript查询参考网站:JavaScript标准参考教程。感觉这个老师写挺好,谢谢他无私奉献!

72030

为什么大家都使用 Axios 而不是 Fetch

让我们从一些简单而常见事情开始,比如Map方法。我们通常使用它在JSX迭代对象呈现内容。尽管经常会遇到小小“key”警告,但我们经常忽视它。...React纯度。React倡导不变性和纯度概念,确保函数始终为给定输入产生相同输出,并避免具有范围外变量副作用。这提高了React应用程序可预测性和可维护性。...尽管这是JavaScript函数原则,但React组件本质上只是返回JSX函数。...Strict Mode,React对于函数组状态更新函数和effect hook执行了两次调用,确保组件相同状态和props下输出保持不变。...这有助于检测问题,但只开发模式下执行,生产中不执行。Strict Mode还警告有关弃用方法、使用遗留字符串ref API问题、意外副作用等警告。

11100

JavaScript 不变性(Immutability)

在这篇文章,我展示什么是完全不变,如何在JavaScript中使用这个概念,以及为什么它是有用。 什么是不变性? 可变性文本定义是可能会被改变。...字符串不是JavaScript内置唯一不变值。 数字也是不变。 你甚至可以想象一个评估表达式“2 + 3”_改变数字“2”含义环境? 这听起来很荒唐,但是我们一直使用对象和数组。...In JavaScript, Mutability Abounds JavaScript字符串和数字是不可改变设计。...如果数组字符串和数字处理一致,v2包含一个新数组,其中包含一个元素 - 数字2 - 。然而,这种情况并非如此。相反,arr引用已被更新为包含数字,v2值是arr新长度。...与内置数组和对象相比,仍然会有一个开销,但它将是不变,通常可以通过不变性启用其他好处来缩小。在实践,使用不可变数据许多情况下会增加应用程序整体性能,即使孤立某些操作变得更加昂贵。

96520

JavaScript进阶-02

注:实践为了从视觉上区分构造函数和普通函数,习惯构造函数首字母大写。 1.2 实例成员 通过构造函数创建对象称为实例对象,实例对象属性和方法称为实例成员。...1.3 静态成员 JavaScript 底层函数本质上也是对象类型,因此允许直接为函数动态添加属性或方法,构造函数属性和方法被称为静态成员。... JavaScript 中最主要数据类型有 6 种,分别是字符串、数值、布尔、undefined、null 和 对象,常见对象类型数据包括数组和普通对象。...实例方法 splice 删除或替换原数组单元 实例方法 reverse 反转数组 实例方法 findIndex 查找元素索引值 2.2 包装类型 JavaScript 字符串...(检测字符串[, 检测位置索引号]) 检测是否某字符开头(重点) 实例方法 includes(搜索字符串[, 检测位置索引号]) 判断一个字符串是否包含在另一个字符串,根据情况返回 true 或

61130
领券