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

如何检测另一个变量的名称,而不是他的值javascript?

在JavaScript中,要检测另一个变量的名称而不是其值,可以使用typeof运算符。typeof运算符返回一个字符串,表示给定变量的数据类型。

以下是使用typeof运算符检测变量名称的示例代码:

代码语言:txt
复制
var variable1 = 10;
var variable2 = "Hello";

console.log(typeof variable1); // 输出 "number"
console.log(typeof variable2); // 输出 "string"

在上面的示例中,typeof运算符用于检测variable1variable2的数据类型。它返回的结果是一个字符串,表示变量的数据类型。

需要注意的是,typeof运算符只能检测变量的数据类型,而不能检测变量的名称。在JavaScript中,变量的名称是在代码中定义的,无法直接通过代码来检测。

关于JavaScript中的typeof运算符的更多信息,可以参考腾讯云的文档:typeof 运算符

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

相关·内容

JavaScript 模式》读书笔记(5)— 对象创建模式4

作为一种变通方案,JavaScript中常见一种方法是使用命名约定,使那些不应该被修改变量全部用大写字母以突出显示。实际上这个命名约定已经用于内置JavaScript对象中了。...此外,一些额外注意事项是要确保声明常量与内置属性名不会冲突,比如toString或hasOwnProperty等,可以通过使用hasOwnProperty()检测名称,并且在所有的常量名前面添加随机生成前缀...constant.get("maxwidth"); 八、链模式 链模式(Chaining Pattern)可以使您能够一个接一个调用对象方法,而无需将前一个操作返回赋给变量,并且无需将您调用分割成多行...另一个优点在于它可以帮助您考虑分割函数,以创建更加简短、具有特定功能函数,不是创建尝试实现太多功能函数。从长远来看,这提高了代码可维护性。   ...现在回想起来,承认使JavaScript类似类思想并不是值得推荐方案,但是它仍然是一种令人关注模式,有可能在一些应用程序中遇到这种模式。   使用构造函数看起来就像是在使用Java中类。

39710
  • JavaScript 模式》读书笔记(5)— 对象创建模式4

    作为一种变通方案,JavaScript中常见一种方法是使用命名约定,使那些不应该被修改变量全部用大写字母以突出显示。实际上这个命名约定已经用于内置JavaScript对象中了。...此外,一些额外注意事项是要确保声明常量与内置属性名不会冲突,比如toString或hasOwnProperty等,可以通过使用hasOwnProperty()检测名称,并且在所有的常量名前面添加随机生成前缀...constant.get("maxwidth"); 八、链模式 链模式(Chaining Pattern)可以使您能够一个接一个调用对象方法,而无需将前一个操作返回赋给变量,并且无需将您调用分割成多行...另一个优点在于它可以帮助您考虑分割函数,以创建更加简短、具有特定功能函数,不是创建尝试实现太多功能函数。从长远来看,这提高了代码可维护性。   ...现在回想起来,承认使JavaScript类似类思想并不是值得推荐方案,但是它仍然是一种令人关注模式,有可能在一些应用程序中遇到这种模式。   使用构造函数看起来就像是在使用Java中类。

    28540

    javascript】详解变量,类型和宿主对象

    }是对象, 像[ ]这样, 虽然也是对象, 但我们还是叫它数组吧 弱类型JS 在了解JS弱类型之前,我们需要了解一点—— JS里才有类型,变量没有 我们经常会谈到JS类型,其实是针对变量...,不是变量。...例如 假设a = 1,则准确说typeof a; 中typeof是用来检测a类型,不是变量a类型 我们平时经常看到检测某个变量类型, 其实是一种有意无意省略(省略了“”...NaN属于number类型,只不过是一种非常特殊number, 为NaN NaN属于第2种不是第1种!!...而在这里,为了让我们能把NaN概念变得混乱, javascript一个糟心API却开始了表演。。。

    1.7K60

    必知必会JavaScript前端面试题篇(二),不看后悔!

    • 存储方式不同:基本数据类型存在栈(stack)中,引用数据类型存在堆(heap)中 • 复制方式不同:将一个基本数据类型变量赋值给另一个变量时,会复制这个副本,引用类型变量赋值给另一个变量时...,复制对象在内存中指针,不是对象本身,修改一方,另一方也会发生改变 • 原始数据类型 -> 栈 -> Undefined、Null、Boolean、Number、String • 引用数据类型 -...数据类型检测方式有哪些?...对 JavaScript 来说,这个通常为 2-52,在 ES6 中,提供了Number.EPSILON属性,就是 2-52,只要判断0.1+0.2-0.3是否小于Number.EPSILON...为什么函数 arguments 参数是类数组不是数组?如何遍历类数组?

    10210

    javascript】详解变量,类型和宿主对象

    就是说“看上去像” { }是对象, 像[ ]这样, 虽然也是对象, 但我们还是叫它数组吧 弱类型JS 在了解JS弱类型之前,我们需要了解一点—— JS里才有类型,变量没有 我们经常会谈到JS类型...,其实是针对变量不是变量。...例如 假设a = 1,则准确说typeof a; 中typeof是用来检测a类型,不是变量a类型 我们平时经常看到检测某个变量类型, 其实是一种有意无意省略(省略了“”)...NaN属于number类型,只不过是一种非常特殊number, 为NaN NaN属于第2种不是第1种!!...而在这里,为了让我们能把NaN概念变得混乱, javascript一个糟心API却开始了表演。。。

    1.2K10

    JavaScript 中 10 个需要掌握基础问题

    如何使用 jQuery 或纯 JS 将用户从一个页面重定向到另一个页面 jQuery 不是必需,window.location.replace(…)最适合模拟 HTTP 重定向。...闭包是如何工作 闭包是一个函数和对该函数外部作用域引用(词法环境),词法环境是每个执行上下文(堆栈)一部分,并且是标识符(即局部变量名称)和之间映射。...新函数不能引用外部函数局部变量。 在JavaScript中,闭包类似于在函数声明时保留对作用域引用(不是复制),后者又保留对其外部作用域引用,以此类推,一直到作用域链顶端全局对象。...每次调用函数时都会创建一组新局部变量JavaScript每个函数都维护与其外部词法环境链接。 词法环境是所有名称映射(例如,变量,参数)及其范围内。...每个函数都会创建一个闭包,因为每个函数都有与其外部词法环境链接。 注意,变量本身在闭包中是可见不是副本。

    2.7K20

    关于数字前端面试题

    运行环境内建方法isNaN()有坑 如何判断两个浮点数相等?如fn(0.1+0.2 , 0.3) => { /*返回true*/} 如何检测一个是否整数?...所以字符串“666”返回为true,因为可以转化为数字,字符串“what?”不能转换为数字,故返回为false。 那既然无法用isNaN来检测一个是否为NaN,那么该如何做?...3.如何检测一个是否整数 如果允许使用ES6的话,可以用Number.isInterger();这个方法干净利落。 如果不允许使用ES6的话,可以自行写一个pollyFill方法。...比如下面的方法: 这三种方法都是可以,分别说一下: 8.84|0或者 写成0 | 8.84 都是一样,从语法上看,是让0与指定进行按位“或”运算,在JavaScript中,它先对指定执行了ToInt32...~~8.84也是对变量进行ToInt32转换;再进行一步按位“取非”运算,即对每个字节进行反转;然后,再对结果再次“取非”。

    1.4K60

    现代JavaScript—ES6+中Imports,Exports,Let,Const和Promise

    如何JavaScript中使用let 当我们在用let声明变量时,用于声明一次之后就不能再以相同名称重新声明它。...如上代码所示,我们在块内重新声明了i,并赋值20,该变量仅可在该块中使用。 在块外,当我们打印变量时,我们得到是10不是之前分配,这是因为块外,内部变变量i是不存在。...注意:数组是引用类型,不是JavaScript基本类型 实际存储在arr中不是数组,而是数组存储内存位置引用(地址)。...当我们将一个变量声明为const时,我们不能在同一作用域(函数或块级作用域)中重新定义或重新声明具有相同名称另一个const变量。.../javascript" src="user.js"> 但是如果我们在不同JavaScript文件中有一个同名变量,将会出现命名冲突,你实际得到可能并不是你期望

    3.3K10

    【深度剖析】JavaScript中块级作用域与函数作用域

    • 实际结果就是在这个代码片段周围创建了一个新作用域,也就是说这段代码中任何声明(变量或函数)都将绑定在这个新创建函数作用域中,不是先前所在作用域中。...,两个标识符名字相同但用途不同,无意间可能会造成命名冲突,冲突会导致变量被意外覆盖。...不仅是以 function... 开始。函数会被当做函数表达式不是一个标准函数声明来处理。 • 如何区分函数声明和表达式?...没有名称标识符。函数表达式可以是匿名函数声明则不可以省略函数名——在JavaScript 语法中这是非法。 • 匿名函数表达式缺点: 1....IIFE 另一个应用场景是解决 undefined 标识符默认被错误覆盖导致异常。

    24110

    JavaScript Cookie

    Cookie 作用就是用于解决 "如何记录客户端用户信息": 当用户访问 web 页面时,名字可以记录在 cookie 中。...---- JavaScript Cookie 实例 在以下实例中,我们将创建 cookie 来存储访问者名称。 首先,访问者访问 web 页面, 将被要求填写自己名字。...在这个实例中我们会创建 3 个 JavaScript 函数: 设置 cookie 函数 获取 cookie 函数 检测 cookie 函数 ---- 设置 cookie 函数 首先,我们创建一个函数用于存储访问者名字...,cookie 名称为 cname,cookie 为 cvalue,并设置了 cookie 过期时间 expires。...---- 检测 cookie 函数 最后,我们可以创建一个检测 cookie 是否创建函数。 如果设置了 cookie,将显示一个问候信息。

    56130

    2023 想进 BAT 快来,20 道JavaScript必须要面对面试题(中)

    说明如何检测客户端计算机上操作系统? 要检测客户端计算机上操作系统,只需使用 navigator.appVersion 或 navigator.userAgent 属性即可。...它保留附加到任何 DOM 元素事件处理程序。 10.void(0) 有什么用? void(0) 用于调用另一个方法,不在调用时间内刷新页面,参数“零”将被传递。 11....如何使用JavaScript读取cookie? document.cookie用于创建 cookie。每当您想访问 cookie 时,都可以使用该字符串。...document.cookie 字符串保留一个用分号分隔名称 = 列表,其中 name 是 cookie 名称是其字符串。 14....JavaScript 是否有概念级范围? JavaScript 不是概念级作用域,在任何函数中声明变量在函数内部都有作用域。 17. 如何JavaScript 中创建通用对象?

    18960

    StackOverflow上关于JavsScript热门问答

    你会如何向一个有概念(例如,函数,变量等)的人解释,来弥补闭包知识,但不理解闭包本身? Answers: 无论何时你看到function关键字在另一个函数内部,那么内部函数将可访问外部函数变量。...这也许不是所预期,x仅仅是指向同样对象 作为age变量!经过几次调用bar之后,age.memb将是2!...Q5:如何检测一个字符串包含另一个子字符串?...问题描述: 在javascript中,我如何检测一个字符串包含另一个子字符串。通常我会想到String.contains()方法,但似乎没有一个。...这里== 操作符正在检查这两个对象并返回true,但是鉴于它们不是相同类型并且===返回false。

    1.3K71

    JavaScript Matomo 跟踪客户端

    _paq.push(['enableHeartBeatTimer', 30]); 注意:测试心跳计时器时,请记住确保浏览器选项卡具有焦点,不是例如。开发人员工具或其他面板。...因此,您可以为每次访问存储最多 5 个范围“访问”自定义变量。 当scope =“page”时,将为正在跟踪页面视图存储自定义变量名称。...例如,假设您想要在每次访问中存储用户性别。您可以使用名称=“性别”、=“男性”或“女性”来存储自定义变量。 重要提示:给定自定义变量名称必须始终存储在相同“索引”中。...例如,如果您选择将变量名称=“性别”存储在索引= 1中,并且在索引= 1中记录另一个自定义变量,则“性别”变量将被删除并替换为存储在索引1中新自定义变量。...我们将这种跟踪称为半自动跟踪,因为您手动触发交互,但会自动检测内容名称、片段和目标。自动检测内容名称和片段可确保我们可以将交互与之前跟踪印象进行映射。

    92231

    JavaScript学习笔记(一)——JS基础知识介绍

    概念辨析 JavaScript与Java JavaScript最初的确是受Java启发开始设计,而且设计目的之一就是“看上去像Java”,因此语法上有很多类似之处,许多名称和命名规范也借自Java...JavaScript 可被用来检测访问者浏览器,并根据所检测浏览器,为这个浏览器载入相应页面。 JavaScript 可被用来存储和取回位于访问者计算机中信息。...不是一个预编译语言,所以虽然 Javascript 作者尽量把它写得强大。...; 3)函数名是调用函数时引用名称,它对大小写是敏感,调用函数时不可写错函数名; 4)参数表示传递给函数使用或操作,它可以是常量,也可以是变量,也可以是函数,在函数内部可以通arguments对象...;   undefined:没有定义和赋值变量   实际上javascript变量是弱变量类型,你赋值给他是字符串,就是String .

    97220

    JSHint选项配置笔记

    不过建议你最好在检测代码前去掉debug语句。 eqeqeq 如果为真,JSHint会看你在代码中是否都用了===或者是!==,不是使用==和!=。...可以来判断一个属性是否是对象本身属性不是继承得来。...arguments.callee指向当前执行函数(这个在ES5严格模式中被禁用了),arguments.caller指向调用当前函数函数(如果有的话),并且,不是在所有的Javascript...nomen 如果为真,JSHint会禁用下划线变量名。 很多人使用_name方式来命名他们变量,以说明这是一个私有变量,但实际上,并不是,下划线只是做了一个标识。...可见Resig写一篇关于严格模式blog 严格模式做了几件事情: 1、可以捕获一些错误和异常 2、当我们进行一下“不安全”操作时,会抛异常,例如访问全局变量

    96490

    用孔子和老子思想来分析忍者代码

    如果另一个函数展示别的东西,比如一个用户名,名称可以以 show… 开始(例如 showName)。 暗示这些函数之间有微妙差异,实际上并没有。...函数改变了某些东西时候,脸上肯定是一脸懵逼表情 — 这会扩大你理性界限。 另一个惊喜方式是,返回非标准结果。 展示你原来想法!...让调用 checkPermission 时返回不是 true/false,而是一个包含检查结果复杂对象。 那些尝试写 if (checkPermission(..))...一个真正忍者会使它们在代码中也不明显。 将多个动作合并到一起,可以保护你代码不被重用。 想象一下,另一个开发者只想检查邮箱不想输出任何信息。...你函数 validateEmail(email) 对而言就不合适啦。所以不会找你问关于这些函数任何事打断你思考。

    75121

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

    一个匿名函数可以分配给一个变量,它也可以作为参数传递给另一个函数。 问题11:JS中参数对象是什么&如何获得传递给函数参数类型 JS 变量arguments表示传递给函数参数。...document.cookie是由分号分隔name=value对列表,其中name是cookie名称,value是其字符串。 可以使用split()方法将字符串分解为键和。...问题26:什么是类型化语言 类型化语言中,关联,不是变量关联,它有两种类型: 动态:在这种情况下,变量可以包含多种类型,如在JS中,变量可以取number, string 类型。...## 问题44:如何在JS中清空数组 有许多方法可以用来清空数组: 方法一: ```javascript arrayList = [] 上面的代码将把变量arrayList设置为一个新空数组。...这里x不是一个对象,而是一个局部变量,删除操作符不影响局部变量

    6.6K31

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

    Cookie 作用就是用于解决 “如何记录客户端用户信息”: 当用户访问 web 页面时,名字可以记录在 cookie 中。...---- JavaScript Cookie 实例 在以下实例中,将创建 cookie 来存储访问者名称。 首先,访问者访问 web 页面, 将被要求填写自己名字。...在这个实例中我们会创建 3 个 JavaScript 函数: 设置 cookie 函数 获取 cookie 函数 检测 cookie 函数 设置 cookie 函数 首先,我们创建一个函数用于存储访问者名字...,cookie 名称为 cname,cookie 为 cvalue,并设置了 cookie 过期时间 expires。...备注: 在Gecko 6.0前,被引号括起路径引号会被当做路径一部分,不是被当做定界符。现在已被修复。

    98530

    Dan Abramov脑中JS知识图谱

    现在你可以写message,不是在你代码中每次都重复同样句子。你以后可以改变message来指向另一个,比如message = "I am the walrus"。...它可能会让你想起一个变量:它有一个名字(像flavor)并指向一个(像 "vanilla ")。但与变量不同,属性 "生活 "在对象本身,不是在你代码中某个地方(范围)。...有时你并不事先知道你想读取属性名称。例如,也许有时你想读取iceCream.flavor,有时你想读取iceCream.taste。当属性名称本身是一个变量时,括号([])符号可以让你读取该属性。...回调并不是一个真正JavaScript术语。它更像是一种模式。它是指你把一个函数作为参数传递给另一个函数,期望它稍后能回调你函数。你在期待一个 "回调"。...所以在这种情况下,JavaScript负责 "保持变量活力",不是像通常那样 "忘记 "它们。这就是所谓 "闭包"。

    1.8K73
    领券