java检查变量是否定义_JavaScript检查变量是否存在(已定义/初始化)
哪种方法检查变量是否已初始化是更好/正确的方法? (假设变量可以容纳任何内容(字符串,整数,对象,函数等)。
if (elem) { // or !elem
要么
if (typeof(elem) !== 'undefined') {
要么
if (elem != null) {
#1楼
在JavaScript中,可以定义一个变量,但是将其值保留为undefined ,因此最常见的答案在技术上并不正确,而是执行以下操作:
if (typeof v === "undefined") {
// no variable "v" is defined in the current scope
// *or* some variable v exists and has been assigned the value undefined
} else {
// some variable (global or local) "v" is defined in the current scope
// *and* it contains a value other than undefined
}
这可能足以满足您的目的。 以下测试具有更简单的语义,这使得更容易精确地描述代码的行为并亲自理解(如果您关心这样的事情):
if ("v" in window) {
// global variable v is defined
} else {
// global variable v is not defined
}
当然,这假定您正在浏览器中运行(其中window是全局对象的名称)。 但是,如果您想像这样的全局变量,则可能是在浏览器中。 从主观上讲, 'name' in window使用'name' in window样式上与使用window.name引用全局变量一致。 作为window属性而不是变量访问全局变量,可以使您在代码中引用的未声明变量的数量最少(以利于衬里),并避免全局变量被局部变量覆盖的可能性。 另外,如果全局对象使您的皮肤爬行,则仅用此相对较长的棍子接触它们时,您可能会感到更舒适。
#2楼
if (typeof console != "undefined") {
...
}
或更好
if ((typeof console == "object") && (typeof console.profile == "function")) {
console.profile(f.constructor);
}
适用于所有浏览器
#3楼
在问题概述的特定情况下,
typeof window.console === "undefined"
与...相同
window.console === undefined
我更喜欢后者,因为它更短。
请注意,我们仅在全局范围(在所有浏览器中都是window对象)中查找console 。 在这种特殊情况下,这是可取的。 我们不希望在其他地方定义console 。
@BrianKelley在他的出色回答中解释了技术细节。 我仅添加了缺少的结论,并将其摘要为更易于阅读的内容。
#4楼
最高答案是正确的,请使用typeof。
但是,我想指出的是,在JavaScript中, undefined是可变的(出于某些不敬虔的原因)。 因此,仅检查varName !== undefined就有可能无法总是按预期返回,因为其他库可能已更改为undefined。 一些答案(@skalee的答案)似乎更喜欢不使用typeof ,这可能会给您带来麻烦。
“旧”的方式来处理这个问题被宣布不定位为VAR,以抵消任何潜在的静音/的压倒一切的undefined 。 但是,最好的方法仍然是使用typeof因为它将忽略其他代码中所有undefined覆盖。 尤其是如果您正在编写要在野外使用的代码,那么谁又知道该页面上可能还会运行什么……
#5楼
您可以使用typeof运算符。
例如,
var dataSet;
alert("Variable dataSet is : " + typeof dataSet);
上面的代码片段将返回类似的输出
变量dataSet是:未定义。
java检查变量是否定义_JavaScript检查变量是否存在(已定义/初始化)相关推荐
- java定义私有变量_Java Reflection(七):私有变量和私有方法
在通常的观点中从对象的外部访问私有变量以及方法是不允许的,但是Java反射机制可以做到这一点.使用这个功能并不困难,在进行单元测试时这个功能非常有效.本节会向你展示如何使用这个功能. 注意:这个功能只 ...
- 如何检查Bash中是否设置了变量?
我如何知道是否在Bash中设置了变量? 例如,如何检查用户是否将第一个参数赋予函数? function a {# if $1 is set ? } #1楼 检查是否设置了变量 var="&q ...
- 【Flutter】Flutter 开发环境搭建 ( Android Studio 下 Flutter / Dart 插件安装 | Flutter SDK 安装 | 环境变量配置 | 开发环境检查 )
文章目录 一.Flutter 学习资料 二.Flutter 开发环境搭建 三.Android Studio 环境安装 Flutter / Dart 插件 四.下载 Flutter SDK 五.设置 F ...
- java 在主方法中定义两个变量 调用方法进行加10_计算机考试二级考试Java模拟试题附答案...
全国计算机等级考试二级考试,需要考生在考前做好足够的复习准备,下面小编为大家带来计算机考试二级考试Java模拟试题,供各位考生练习! 计算机考试二级考试Java模拟试题一 1.类Test1定义如下:p ...
- java 定义多个变量_学了Java才搞懂JMeter测试计划
文 | 老树 本文的内容是对这个界面的东西进行讲解: Name 名字,测试计划总得有个名字. Comments 注释,除了名字,还得让人知道它是干嘛的. User Defined Variables ...
- java 中定义整形变量_智慧职教: 在Java语言中,一条语句可以定义多个变量。例如int a; b;就定义了两个整型变量a 和b。...
智慧职教: 在Java语言中,一条语句可以定义多个变量.例如int a: b:就定义了两个整型变量a 和b. 答:0 "物的依赖性关系"是( ) 答:资本主义社会之中的人与人之间的 ...
- JAVA创建一个Box类(长方体),在Box类中定义三个变量,分别表示长方体的长(length)、宽(width)和高(heigth)
编程创建一个Box类(长方体),在Box类中定义三个变量,分别表示长方体的长(length).宽(width)和高(heigth),再定义一个方法void setBox(int l, int w, i ...
- 《JAVA》编程创建一个Box类(长方体),在Box类中定义三个变量
问题:编程创建一个Box类(长方体),在Box类中定义三个变量,分别表示长方体的长(length).宽(width)和高(heigth),再定义一个方法void setBox(int l, int w ...
- Java类定义、成员变量定义、方法定义、成员变量与局部变量的区别
编程语言的三大发展阶段:面向机器语言.面向过程语言.面向对象语言 : 其中面向对象语言主要体现三个特征:封装性.继承.动态 : 类的定义:类声明和类体.基本格式如下: class 类名{ 类体 ...
最新文章
- vector与结构体联合使用 在磁盘中生成.txt 文件
- Did you forget add @script or @script_method annotation? If this is a nn.ModuleList, add it to __con
- java关闭ie提示_java 关闭IE
- Bochs调试及相关仿真工具的使用方法
- 二叉搜索树中第k大元素_二叉搜索树中第K个最小元素
- 朋友面试被问到---静态构造函数
- 对象 复制构造函数
- 极客大学架构师训练营 秒杀 搜索引擎 爬虫 Lucene Elastic Search 第18课 听课总结
- 0. Unix / Linux操作系统介绍
- 权重计算方法二:熵权法(EWM)
- 74HC595中文资料
- 调用微信扫一扫接口---实现二维码扫描(微信浏览器)
- 设计模式-抽象工厂模式
- 浏览器显示海康摄像头实时预览画面纯前端解决方案
- 构建之法---第一次作业
- 你的微信版本过低,无法正常使用此小程序,请更新微信到最新版本。
- 欲登千层楼,又何惧寒风
- SAP BP 业务实践与ABAP 分享
- win10 64位搭建汇编环境debug
- ts报错:Object is possibly ‘undefined‘.Vetur(2532)
热门文章
- fedora安装pyenv实现python的版本管理
- ASP.NET Aries 入门开发教程7:DataGrid的行操作(主键操作区)
- ASP.NET站点构建之减少不必要的请求
- 堆内存 和 栈内存的简单理解 (未完待续~)
- while循环与for循环
- strcmp() Anyone? UVA - 11732 左孩子右兄弟Trie/计数
- 数组作为方法的返回值
- linux 快组描述符,Linux 进程描述符 task struct
- 02-04 Python库-faker
- python结构_Python 项目的结构