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

如何在不使用if then或case swtich的情况下访问对象[javascript]

在不使用if then或case switch的情况下访问对象,可以使用以下方法:

  1. 使用对象的属性作为函数名:可以将对象的属性设置为函数,然后通过调用属性名来访问对象。例如:
代码语言:txt
复制
const obj = {
  method1() {
    console.log("Method 1");
  },
  method2() {
    console.log("Method 2");
  }
};

const methodName = "method1";
obj[methodName](); // 输出 "Method 1"
  1. 使用对象的属性作为索引:可以将对象的属性设置为索引,然后通过索引来访问对象。例如:
代码语言:txt
复制
const obj = {
  prop1: "Property 1",
  prop2: "Property 2"
};

const propName = "prop1";
console.log(obj[propName]); // 输出 "Property 1"
  1. 使用函数映射表:可以使用一个函数映射表,将对象的属性映射到对应的函数。例如:
代码语言:txt
复制
const obj = {
  method1() {
    console.log("Method 1");
  },
  method2() {
    console.log("Method 2");
  }
};

const methodMap = {
  method1: obj.method1,
  method2: obj.method2
};

const methodName = "method1";
methodMap[methodName](); // 输出 "Method 1"

这些方法可以在不使用if then或case switch的情况下访问对象,并且可以根据具体的需求选择适合的方法。

相关搜索:如何在不编译或安装的情况下直接使用SciPy源代码?如何在画布上使用对象进行绘制,并在不绘制的情况下移动对象?如何在不更改javascript中的原始数组的情况下使用函数克隆数组?JavaScript递归:在不访问数组长度属性的情况下使用递归获取数组的长度如何在不扩展跨页的情况下使用javascript在内嵌中移动页面?如何在不覆盖先前数据的情况下使用rxSwift进行压缩、合并或合并?如何在不拒绝访问控制器的情况下使用Symfony 4投票器如何在不结束会话的情况下使用JOVO的tell方法响应Alexa或Google如何在不拒绝对c++中的文件进行读取或执行访问的情况下保护文件在不使用javascript的情况下使用第n个子对象时,有没有办法访问n?如何在Javascript中使用forEach方法或数组对象的任何数组方法?如何在不使用隐藏字段的情况下在c#代码中访问javascript变量如何在不访问唯一ID的情况下,基于返回相同数据的多个列进行更新或插入如何在不访问远程服务器上的C编译器或yum的情况下更新SQLite?如何在不使用javascript或表的情况下对齐年龄和姓名输入框如何在不使用.aspx页面的情况下访问JavaScript中的web.config密钥?如何在不创建新对象的情况下在windows窗体/类中使用同一对象?javascript:如何使用隐藏标记在不添加换行符的情况下直接更新较大对象的文本?使用jq,如何在不更新其他对象的情况下将元素附加到数组中?如何在不访问包含范围内的内容的情况下安全地访问Javascript模块模式中的其他兄弟函数和变量?
相关搜索:
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

14万字 | 400多道JavaScript 面试题及详细答案(建议收藏)

222 使用 swtich case 需要遵循什么约定? 223 什么是原始数据类型? 224 访问对象属性的不同方式有哪些? 225 什么是函数参数规则? 226 什么是错误对象?...271 常用的缩小工具有哪些? 272 你如何使用 javascript 执行表单验证? 273 如何在没有 javascript 的情况下执行表单验证?...421 如何在没有任何额外括号的情况下调用 IIFE? 422 可以在 switch case 中使用表达式吗? 423 忽略承诺错误的最简单方法是什么?...JavaScript 中的 switch case 语句用于决策目的。在某些情况下,使用 switch case 语句会比 if-else 语句更方便。...返回顶部 回到第100题 回到第200题 ---- 222.使用 swtich case 需要遵循什么规定? 以下是应注意的规定列表, 1.表达式可以是数字或字符串类型。

12.7K20

Java面试葵花宝典打印版【4】

因此传递给 switch 和 case 语句的参数应该是 int、 short、 char 或者 byte。long,string 都不能作用于swtich。...由于Java不支持多继承,而有可能某个类或对象要使用分别在几个类或对象里面的方法或属性,现有的单继承机制就不能满足要求。与继承相比,接口有更高的灵活性,因为接口中没有任何实现代码。...由于有个垃圾回收机制,Java中的对象不再有“作用域”的概念,只有对象的引用才有“作用域”。垃圾回收可以有效的防止内存泄露,有效的使用可以使用的内存。...垃圾回收器通常是作为一个单独的低级别的线程运行,不可预知的情况下对内存堆中已经死亡的或者长时间没有使用的对象进行清楚和回收,程序员不能实时的调用垃圾回收器对某个对象或所有对象进行垃圾回收。...浏览器的响应的方法(如cookies,头信息等) out对象是javax.jsp.JspWriter的一个实例,并提供了几个方法使你能用于向浏览器回送输出结果。

23530
  • 经典笔试题-Java基础篇

    3)封装:封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。...因此传递给switch 和case语句的参数应该是int、short、char 或者byte。long,string 都不能作用于swtich。...垃圾回收器通常是作为一个单独的低级别的线程运行,不可预知的情况下对内存堆中已经死亡的或者长时间没有使用的对象进行清楚和回收,程序员不能实时的调用垃圾回收器对某个对象或所有对象进行垃圾回收。...【基础】 答:由于Java 不支持多继承,而有可能某个类或对象要使用分别在几个类或对象里面的方法或属性,现有的单继承机制就不能满足要求。与继承相比,接口有更高的灵活性,因为接口中没有任何实现代码。...【基础】 答:可以继承其他类或实现其他接口,在swing 编程中常用此方式。 45、内部类可以引用他包含类的成员吗?有没有什么限制?【基础】 答:一个内部类对象可以访问创建它的外部类对象的内容。

    76120

    Web前端面试敲重点知识,14个TypeScript核心基础面试题和答案

    string:表示文本值,例如“javascript”、“typescript”等 number:表示数值,如 1、2、25、36 等 boolean:表示一个变量,它可以具有“真”或“假”值 image.png...void 表示变量没有类型,它充当与任何相反的类型,它在不返回值的函数中特别有用 如果变量是 void 类型,则只能将 null 或 undefined 值分配给该变量。...函数是执行特定代码的代码块 函数可以有选择地接受一个或多个参数,处理它们,并有选择地返回一个值。 image.png 8、如何在 TypeScript 中创建对象 ?...TypeScript 提供了三个关键字来控制类成员的可见性 public:您可以在 class 外的任何地方访问公共成员。默认情况下,所有类成员都是公共的。...protected:受保护的成员仅对包含该成员的类的子类可见。不扩展容器类的外部代码无法访问受保护的成员。 private:私有成员仅在类内部可见,没有外部代码可以访问类的私有成员。

    11.5K10

    300 秒快速了解 Java 9 - 16 新特性

    导致我们现在完全跟不上 Java 发布的节奏,我司目前还停留在 Java 8,甚至部分老系统还在使用 Java 7,根本不能轻易的升级。..., Java 10"; 不过这个只是语法糖,编译后变量还是有类型的,使用时还是考虑下可维护性的问题,不然写多了可就成 JavaScript 风格了 Java 11(2018年9月) Lambda 中的自动类型推断...语法,但并不能在 -> 之后写复杂的逻辑,JAVA 12 带来了 swtich更完美的体验,就像 lambda 一样,可以写逻辑,然后再返回: typeOfDay = switch (dayOfWeek...里最常见的一个异常了,但这玩意提示实在不友好,遇到一些长一点的链式表达式时,没办法分辨到底是哪个对象为空。...现在直接增加了一套安全的堆外内存访问接口,可以轻松的访问堆外内存,再也不用搞 Unsafe 的骚操作了。

    46520

    第十四届蓝桥杯集训——JavaC组第十一篇——switch

    基础示例: String类型switch示例 switch枚举判断 巧用break 石头剪刀布 测试代码: ---- swtich概述 Switch在一些计算机语言中是保留字,其作用大多情况下是进行判断选择...以C语言来说,switch(开关语句)常和case break default一起使用。...代码中虽然没有限制if else能够处理的分支数量 ,但当分支过多时,用 if else处理会不太方便 ,所以对于这种情况,实际开发中一般使用switch语句代替 。...这是一个很标准的switch的用法,有break,还有default,在什么情况下跳出,在什么情况下结束运行,都很清楚的说明了,但是朋友们在写这个代码的时候,有可能会忘记加入break 或者忘记加入default...flag = true; // 立个flag备用 int rnd = (int) (1 + Math.random() * 3); System.out.print("请输入【剪刀】、【石头】或【

    37240

    42个实用的JavaScript优化技巧

    result = data["abc"] === undefined 直接访问元素(对象样式) let result = array.abc === undefined; 9、如何在JavaScript...有很多需求,我们需要根据条件更改某些颜色或CSS。 如何在JavaScript中完成?...在较早的JavaScript版本中,这是通过使用apply方法完成的。 该apply()方法调用具有给定this值的函数,并arguments以数组(或类似数组的对象)的形式提供。...if(data.prop === undefined) { alert("it is: `undefined`"); } 要检查对象是否实际上没有这样的属性,并尝试访问它时,默认情况下将返回undefined...在大多数情况下,我们确实检查数组的长度,但是,如果要检查对象的长度怎么办?以下两种方法是获取对象长度的最佳方法。

    11.8K20

    ES6之块级作用域

    let 差不多,但是 const 一定要初始化, 不初始化是会报错的。..., bar: 3} 暂时性死区 使用 let 或 const 声明的变量,在声明没有到达之前,访问该变量都会导致报错,就连一直以为安全的 typeof 也不再安全。...任何在暂时性死区内访问变量的企图都会导致“运行时”错误(runtime error)。只有执行到变量的声明语句时,该变量才会从暂时性死区内被移除并可以安全使用。...,被广泛认可的变量声明方式是:默认情况下应当使用 let 而不是 var 。...在默认情况下使用 const ,而只在你知道变量值需要被更改的情况下才使用 let 。这在代码中能确保基本层次的不可变性,有助于防止某些类型的错误。 思考题 两个思考题,我会把答案放在评论中。

    60240

    类加载机制

    类的加载的最终产品是位于堆区中的 Class 对象,Class 对象封装了类在方法区内的数据结构,并且向 Java 程序员提供了访问方法区内的数据结构的接口。...类加载器并不需要等到某个类被“首次主动使用”时再加载它,JVM 规范允许类加载器在预料某个类将要被使用时就预先加载它,如果在预先加载的过程中遇到了 .class 文件缺失或存在错误,类加载器必须在程序首次主动使用该类时才报告错误...,开发者可以直接使用该类加载器,如果应用程序中没有自定义过自己的类加载器,一般情况下这个就是程序中默认的类加载器。...结合日志,在 transform 的 40 行才报错, 这一行刚好是 swtich 代码块开始的地方, 经过查证,发现 JVM 会在 swtich enum 中 case 数量大于一定值时,将这个代码块编译出一个匿名类...URLClassLoader 在被 close 后无法被用于 加载新的类或资源,但是已经被 load 的类 和资源仍然可以访问。

    50610

    一文熟悉 Go 的分支结构(if - else-if - else、switch)

    ifif 语句是 Go 中最常用、最简单的分支控制结构,它分为单分支、双分支以及多分支三种用法。if 语句会根据布尔变量或布尔表达式,在两个或多个分支中选择一个执行。...由于是在 if 语句中声明的变量,因此变量的作用域也只在 if 语句中,外部无法访问这些变量。...switch 分支当 if 分支使用当 switch 分支后面不带常量、变量或布尔表达式等时,其效果与 if 分支类似。...在 switch 语句中声明变量和 if 一样,我们也可以在 switch 语句中声明变量,变量的作用域也只在 swtich 语句中,外部无法访问这些变量。...小结本文对两种分支结构(if、switch)进行了介绍,也举例说明了一些特殊的用法。如果代码存在着复杂的 if 多分支结构,不妨用 swtich 进行改造,也许代码的可读性会更高。

    25500

    盘点一下 Python 和 JavaScript 的主要区别(详细)

    每当你看到网站或Web应用程序或与之交互时,即在“幕后”使用JavaScript。...如何在Python中命名变量 在Python中,我们应该使用 snake_case 命名样式。 根据Python样式指南: 变量名与函数名遵循相同的约定。...例如,在内容是一个对象的情况下,这意味着对象的内容(例如,它的属性)可以被更改。...我们用花括号将循环的主体括起来,然后缩进它。 ? 在JavaScript中,我们还有 for .. in 循环可循环访问对象的属性。...你可以使用比函数定义中定义的参数更少或更多的参数来调用函数。默认情况下,为缺少的参数分配 undefined 值,并且可以使用 arguments 对象访问其他参数。

    6.5K30

    3. 流程控制语句

    直到遇到break关键字或执行完所有的case及default的执行语句,跳出当前的switch-case结构 使用注意点: switch(表达式)中表达式的值必须是这几种类型 : byte , short...子句中的敞亮值互不相同 break语句用来执行完一个case分支后使程序跳出swtich语句块 , 如果没有break , 程序会顺序执行到switch结尾 default子句是可选的 , 同时 , 位置也是灵活的...循环语句 理解:循环语句具有在某些条件​满足的情况下,反复执行​特定代码的功能。...关键字break 和 continue的使用 适用范围 在循环结构中使用的作用 相同点 break switch-case 循环结构 一旦执行,就结束(或跳出)当前循环结构...Scanner : 键盘输入功能的实现 键盘输入代码的四个步骤 导包 创建Scanner类型的对象 调用Scanner类的相关方法 释放资源 注意 : 需要根据相应的方法 , 来输入指定类型的值 , 入股输入的数据类型与要求的类型不匹配时

    12810

    卷不动了?300 秒快速了解 Java 9 - 16 新特性,助你脱离内卷

    导致我们现在完全跟不上 JAVA 发布的节奏,我司目前还停留在 JAVA 8,甚至部分老系统还在使用 JAVA 7,根本不能轻易的升级。..., Java 10"; 不过这个只是语法糖,编译后变量还是有类型的,使用时还是考虑下可维护性的问题,不然写多了可就成 JavaScript 风格了 JAVA 11(2018年9月) Lambda 中的自动类型推断...,但这玩意提示实在不友好,遇到一些长一点的链式表达式时,没办法分辨到底是哪个对象为空。...现在直接增加了一套安全的堆外内存访问接口,可以轻松的访问堆外内存,再也不用搞 Unsafe 的骚操作了。...……多奇怪 memorySegment.close(); 不了解 Unsafe 操作堆外内存方式的同学,可以参考我的另一篇文章《JDK中为了性能大量使用的Unsafe类,你会用吗?》

    37920

    Beetl 基础知识

    引用属性 属性引用是模板中的重要一部分,beetl支持属性同javascript的支持方式一样,如下: Beetl支持通过”.”号来访问对象的的属性,如果javascript一样。...如果User对象有个getName()方法,那么在模板中,可以通过${xxx.name}来访问 如果模板变量是数组或者List类,这可以通过[] 来访问,如${userList[0]} 如果模板变量是Map...类,这可以通过[]来访问,如${map[“name”]},如果key值是字符串类型,也可以使用${map.name}.但不建议这么使用,因为会让模板阅读者误以为是一个Pojo对象 Beetl也支持Generic...但建议不这么做,因为容易让阅读模板的人误认为这是一个Map类型 Beetl 还可以定义额外的对象属性,而无需更改java对象,这叫着虚拟属性,如,对于所有集合,数组,都有共同的虚拟属性size.虚拟属性是...”12.45”,trim(date,’yyyy’)返回”2017” trunc 截取数字,保留指定的小数位,如trunc(12.456,2) 输出是12.45.不推荐使用,因为处理float有问题,兼容原因保留了

    1.2K10

    Beetl 基础知识

    引用属性 属性引用是模板中的重要一部分,beetl支持属性同javascript的支持方式一样,如下: Beetl支持通过”.”号来访问对象的的属性,如果javascript一样。...如果User对象有个getName()方法,那么在模板中,可以通过${xxx.name}来访问 如果模板变量是数组或者List类,这可以通过[] 来访问,如${userList[0]} 如果模板变量是Map...类,这可以通过[]来访问,如${map[“name”]},如果key值是字符串类型,也可以使用${map.name}.但不建议这么使用,因为会让模板阅读者误以为是一个Pojo对象 Beetl也支持Generic...但建议不这么做,因为容易让阅读模板的人误认为这是一个Map类型 Beetl 还可以定义额外的对象属性,而无需更改java对象,这叫着虚拟属性,如,对于所有集合,数组,都有共同的虚拟属性size.虚拟属性是...”12.45”,trim(date,’yyyy’)返回”2017” trunc 截取数字,保留指定的小数位,如trunc(12.456,2) 输出是12.45.不推荐使用,因为处理float有问题,兼容原因保留了

    1.5K10

    100个最常问的JavaScript面试问答-第4部分(共10部分)

    100个最常问的JavaScript面试问答-第4部分 问题31.参数对象可用于ES6 arrow functions吗? 问题32.如何在没有原型的情况下创建对象? 问题33....如果您的环境支持其余语法,我们可以解决此问题。 const four = (...args) => args; 这会将所有参数值自动放入数组中。 问题32.如何在没有原型的情况下创建对象?...答:我们可以使用来创建没有原型的对象Object.create method。...JavaScript中this的作用域是什么? JavaScript中的这个关键字引用了它所属的对象。 根据使用位置的不同,它具有不同的意义。 在方法中,这是指所有者对象 在函数中,这是指全局对象。...如果比较中的任何一个值都可以是这些特定值(0, “”, 或 [] – 空数组),请不要用==,而使用===。 在其他所有情况下,您都可以放心使用==。

    98541

    asp.net面试题

    internal: 在同一命名空间内可以访问。 2 .列举ASP.NET 页面之间传递值的几种方式。 答. 1.使用QueryString, 如….?id=1; response....35.能用foreach遍历访问的对象需要实现 ________________接口或声明 ________________方法的类型。 答:IEnumerable 、 GetEnumerator。...因此传递给 switch 和 case 语句的参数应该是 int、 short、 char 或者 byte。long,string 都不 能作用于swtich。...47.当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此 对象的其它方法? 不能,一个对象的一个synchronized方法只能由一个线程访问。...由于有抽象类,它允许使用接口名作为引用变量的类型。通常的动 态联编将生效。引用可以转换到接口类型或从接口类型转换,instanceof 运算符 可以用来决定某对象的类是否实现了接口。

    1.1K10

    面试必备【含答案】Java面试题系列(一)

    点关注,不迷路;持续更新Java架构相关技术及资讯热文!!! 1、面向对象的特征有哪些?...封装:封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。...因此传递给switch 和case语句的参数应该是int、short、char 或者byte。long,string 都不能作用在swtich上。...例如Hibernate的Session(一级缓存)中的对象属于持久态,垃圾回收器是不会回收这些对象的,然而这些对象中可能存在无用的垃圾对象,如果不及时关闭(close)或清空(flush)一级缓存就可能导致内存泄露...答:静态变量也称为类变量,归全类共有,它不依赖于某个对象,可通过类名直接访问;而实例变量必须依存于某一实例,只能通过对象才能访问到它。

    74600

    Javascript入门学习

    第一课 1:javascript的主要特点 解释型:不需要编译,浏览器直接解释执行 基于对象:我们可以直接使用JS已经创建的对象 事件驱动:可以对以事件驱动的方式相应客户端的输入,无须经过服务器端程序...安全性:不允许访问本地硬盘,不能将数据写入到服务器上 跨平台:js依赖浏览器本身,与操作系统无关 第二课 如何在网页中写Javascript 1:在页面中直接嵌入Javascript     <script...var score=[45,56,45,78,78,65];     由于数组本质上为Array对象,则可用运算符new来创建新的数组,如     var score=new Array(45,65,78,8,45...);     访问数组中特定元素可通过该元素的索引位置index来实现,如下面语句声明     变量返回数组score中第4个元素     var m=score[3]; 第五课 变量的定义与使用 1:...只有当两个操作数的值都为true的时候,结果才会true     ||逻辑或。

    2.2K70
    领券