判断一个变量是否存在,下面的情况怎么做?

我需要判断一个变量是否存在,现在有一个变化的id,我需要用id来拼这个变量,比如eval("abc" + id +"def");但是这个变量有的存在,有的没有定义,需要我判断一下是否存在,当我这样简单测试时if("undefined" != typeof(abcfristdef)){};可以走,但是当这样写时if("undefined" != typeof(eval("abc" + id +"def"))){};就会报not defined的错,本人小白,刚入行不久,请大手指教;

0

6个回答

你那样做稍微复杂了一点;
如果变量不是局部的,那么可以用window来判断,都不需要eval函数;
给你举个例子:
var adc123def = 'littlehow';
console.log(window['abc123def']);//littlehow
如果判断一个判断是否存在,那么就可以
if(window['abc' + id + 'def'] === undefined) {
//你变量不存在的业务逻辑
}

如果有帮助,希望采纳,有疑问可以继续提问....

1
qq_35436516
王蛇无毒 回复little_how: 谢谢你了,我的问题解决了,嘿嘿
2 年多之前 回复
w172087242
little_how 动态定义一个变量为window['abc' + id + 'def'] = 'littlehow动态进入';
2 年多之前 回复

你可以直接判断id是不是undefined 然后再拼接

0
qq_35436516
王蛇无毒 朋友,id是一直都有的,但是拼接的那个变量不一定存在
2 年多之前 回复

id给个默认,再判断,多debug

0

朋友,id是一直都有的,但是拼接的那个变量不一定存在

0

if("undefined" != typeof(abcfristdef)){};
上面这句的判断当然没问题,表达式正确,判断,返回判断结果
if("undefined" != typeof(eval("abc" + id +"def"))){};
第二个语句,因为你真正要判断的是id这个变量,你先进行拼接,再判断,当然出错
因为id可能不存在,那么你怎么先进行拼接?
这里提示说not defined的错,并不是不能判断的错,而是你拼接过程中,没找到id这个变量进行拼接的错。
所以最好是先判断id,有这个变量再进行拼接,

0

你可以加个静态的boolean 在你要使用的方法中改变boolean的值。比如。要用到那个变量时boolean改成true,不用改成false.再判断boolean的值就信了

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
js判断不存在变量
变量名如tmp,当tmp不存在的时候,使用if(tmp)就会报tmp变量未定义的错误。使用情景:登陆前没有tmp变量,登陆后存在tmp变量。这时候用if判断不能直接if(tmp)来进行判断,改为如下:if(typeof tmp!="undefined"){...
判断变量和常量是否存在
判断变量是否存在:isset() 判断常量是否存在:defined() 不能混用。
python 中判断变量是否定义方法
python中检测某个变量是否有定义第一种方法使用内置函数locals(): locals():获取已定义对象字典'testvar' in locals().keys()第二种方法使用内置函数dir(): dir():获取已定义对象列表'testvar' in dir()第三种方法使用内置函数vars(): vars():获取已定义对象字典vars().has_key('tes
Python3判断变量/对象是否定义的两种方法
locals和dir 使用内置函数**locals()**: #!/usr/bin/env python3 # -*- coding: utf-8 -*- # locals():获取已定义对象字典 # testvar未定义的判断 if 'testvar' in locals().keys(): print("testvar已定义") else: print("testvar未定义...
jquery判断var变量是否存在
var创建的是一个对象,判断是否为空有两种方法:var var1=$('#target');1.调用length()方法:if(var.length()>0){}2.if(var[0]){}
【PHP】用isset检测一个变量是否存在
在PHP的学习中,我们可能会遇到变量不存在、早已被unset或是其值为Null,我们引用它们的时候会被Notice的问题。那么,我们可不可以在引用它们之前判断它们是否存在? 答案是肯定也是简单的。知识点:用isset可以检测一个变量是否存在。例1:<?php $a=1; $b; if(isset($a)){ echo 'OK!','<br />'; }else{ echo 'NO!'
判断变量是否存在(python)
var = 1 # print True print 'var' in dir() # print False print 'va' in dir() # work for list , dict too
Python判断变量是否存在的方法
方法一:使用try: ... except NameError: ...。 try: var except NameError: var_exists = False else: var_exists = True 方法二:使用内置函数locals(): locals():获取已定义对象字典 #testvar未定义 In [1]: 'testv...
php判断变量是否存在
主要包含三个方法isset,empty,is_null 写这篇的目的主要是为了在平时做健壮性的时候的一些总结,举例子肯定简单,因为已经知道此数据的结构,但是实操中情况非常复杂不知道过来的是什么结构的数据是很稀松平常的事。 bool isset ( mixed var[,mixedvar[,mixedvar [, mixed … ] ) 检测变量是否设置,并且不是 NULL。 如果一次传入...
js 检测变量是否存在
实际开发过程中,会有判断一个变量是否存在的场景 首先想到的是 if(a==undefined){ console.log("a is undefined") }else{ console.log("a is defiend") }这里会报错,有可能产生阻塞,而且不够优雅 解决方法: if(typeof a!=="undefined"){
js 判断变量是否存在
if (typeof bianliang != "undefined") { //变量存在 } if (typeof bianliang == "undefined") { //变量不存在 }
python判断一个变量是否存在
s=123 print(s) #del s if('s' in vars()): print(s) else: print('sdf')
lua 函数变量 assert判断
function UpdateView:onUpdateCancel(callback)     assert(callback and type(callback) == "function")     self.callback_ = callback end
python中判断某变量是否存在
#!/bin/python def fn(): try: a=0 b = open("1.py") raise "11" #这个异常不是必然发生,我这里只是假设 c = open("2.py") except: if b:
python中检测某个变量是否有定义
python中检测某个变量是否有定义   第一种方法: 'var'   in   locals().keys() 第二种方法: 'var'   in   dir()
JavaScript中判断函数、变量是否存在
一、是否存在指定函数  function isExitsFunction(funcName) { try { if (typeof(eval(funcName)) == "function") { return true; } } catch(e) {} return false; } 二、类似PHP常用的判断函数是否存在,不存在则创建
php 对传递过来的变量判断是否存在
php 对传递过来的变量判断是否存在 判断存在做两次判断,一是判断变量是否set 二是,判断改变量是否为空.这样的判断 更加严谨if( !isset(GET[′number′])||empty(_GET['number']) || empty(_GET[‘number’]) )
python:判断变量名是否有存在;赋值无穷大
1.判断变量名是否有存在 a=1 'a' in locals().keys() 'a' in vars().keys() 2.无穷大 float(&quot;inf&quot;)
smarty模板里检查一个变量是否存在
{[$q|default:&quot;not value&quot;]}
vue中判断服务器传递的数据是否存在 即 vue监听一个不存在的变量
如果在项目中的某个方法中判断服务器端传来的数据是否存在可以 采用 typeof 属性 ==  "undefined" 判断 例如 :  data(){  return {  testData:[ {  name: 'a',    sex:'0' } ] } }, methods:{  test(item){ if(typeof item.
如何判断一个变量是否包含在表的一个字段中
今天在做一个数据库查询的时候遇到了一个难题,就是如何根据给定的参数判断该参数是否在数据库表的某个字段中,并返回记录集。 例如: 给定参数为:2 数据库表的某个字段值为:1,2,4,15或者3,11,13或者null等等 那么如何根据传进来的2找到相应的记录,即字段值为1,2,4,15的那条记录 最后找到可以使用MySQL自己的函数FIND_IN_SET [code=&quot;java&quot;]...
在模板中判断变量是否为空
v['thumb']"> 这个也可以判断就是写法 变量的写法,好多同学直接写变量是可以的,在foreach中就不会写了,不需要{}花括号 还有一个$v.thumb neq true 如果存在就是真 如果是空就是假的 看你习惯 在模板中判断变量是否为空,来执行图片的路径。
检测函数和变量是否存在
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> </head> <body> <script> //是否存在指定函数 function isExitsFunction(funcName) { try {
Linux Shell 判断环境变量 是否存在
#!/bin/bash if [ 0"$PATH" = "0" ]; then echo "not found" else echo $PATH fi 比如这里判断环境变量PATH是否存在,存在这输出该环境变量,不存在则输出 not found 作者:jiankunking 出处:http://blog.csdn.net/jiankunking
PHP判断变量是否为空的几种方法区别
使用 if() $a=1; if($a) 值为true$a='a'; if($a) 值为true$a=''; if($a) 值为false$a=0; if($a) 值为false$a=null; if($a) 值为false empty $a=1; if(!empty($a)) 值为true$a='a'; if(!empty($a)) 值为tr
batch文件中如何判断一个变量是否存在 (注意不是变量是否有值)
注意, batch 判断变量的是否存在不等于判断其是否有值。 不能混淆。 变量首先得存在, 即在系统中有定义, 然后确实存在后才能对其进行值得各种判断。  -如果存在但未赋值, 其初值可能为空 “”, 一般判断其是否为空的用法为:IF "%VAR%" == "" -如果不存在, 还去用此变量比较,则必然出错。 这两天在修改一个batch文件,出现了一个错误 Ba
python中判断某个变量是否属于某个模块儿
使用dir()方法, if "var_str" in dir(test_module):     print "'var_str' belongs to test_module"
ruby 判断一个变量是否定义
irb(main):007:0> a = 1 => 1 irb(main):008:0> defined? a => "local-variable" irb(main):009:0> defined? b => nil irb(main):010:0> defined? nil => "nil" irb(main):011:0> defined? String => "constant" irb
在页面设置变量并使用Struts2 s:if 标签判断
因为&amp;lt;s:if&amp;gt;要比较的值必须放在作用域page,request,session...里,所以先把值放到request里 &amp;lt;% int apprType = 1; request.setAttribute(&quot;apprType&quot;,apprType); %&amp;gt; 然后再使用&amp;lt;s:if&amp;gt;取出值并判断 &amp;lt;s:if test=&quot;#reques...
【js】JS 判断某变量是否为某数组中的一个值的3种方法(总结)
1.正则表达式js 中判断某个元素是否存在于某个 js 数组中,相当于 PHP 语言中的 in_array 函数。?123Array.prototype.in_array=function(e){var r=new RegExp(','+e+',');return (r.test(','+this.join(this.S)+','));};用法如下:var arr=new Array([‘b',2...
cc++中判断一个文件是否存在的方法
cc++中判断一个文件是否存在的方法 cc++中判断一个文件是否存在的方法
php判断一个值是否在数组中
使用php小技巧:判断value在不在数组value在不在数组value在不在数组array中? 方法一:in_array(value,value,value,array) 注意:in_array(’’,’’,true)还有第三个参数,为true时还会判断数据类型 方法二:将数组使用array_flip()进行键值反转,然后if(isset(array[array[array[value])){}...
PHP中如何检测一个值为null的变量是否存在
检测变量是否,通常想到的是使用isset()函数,但是
【TP5】在模板里边判断后台传的值是否存在
author:咔咔 wechat:fangkangfk   我们先从后台给设置条件给前台传值   前台使用empty来判断 {empty name=&quot;name&quot;} name为空 {else /} name不为空 {/empty}
如何正确判断Session变量是否存在
前言:     有两个页面调用Controller中同一个方法,不同的是,部分变量, 方法一个是从session中获取,一个是从页面中获取。所以通过判断session中是否有值来决定方法的变量是从哪里获取。 代码所写 if (Session["ExamID"].tostring == null) { studentinfo.ExamMa
【脚本】shell 判断变量中是否包含某个字符串
链接:http://zhidao.baidu.com/link?url=U6bGYjvaoRxQXK1331XidL7X_aTWElgh86vqssu66AwRKGczEBRmex5EcDbdFatAMotGjl8ILgFlvWEh624yIlTJHIyGypHqmSBeV7g_Hhe 比如变量是str str="this is a string" 要想在判断str中是否含有"this"这个
ejs里面如何判断某个参数是不是已经定义了?直接用会抛异常,直接判断也会。
Express, EJS, challenge with testing for undefinedup vote 1 down vote favorite 1 I’m creating a simple website with nodejs using the express framework, couchdb for a database and EJS for templatin
TCL判断条件
编写TCL代码时遇要写一个if判断条件,很简单的一个语句,结果却费了很大力气才搞定。要判断的是,如果执行info exists成功而且某全局数组C的某个成员大于0,正确的语句为: if { [info exists C(AP${AP}cdnnoperap)] && $C(AP${AP}cdnnoperap > 0 } { } 我为了逻辑上的清晰,特地将语句写为: if {
【飞天奔月出品】velocity 判断 变量 是否不是空或empty
   原先的 #if($mobile) 这种写法是不准确的 ,请换成 &quot;$!{ mobile}&quot;!=&quot;&quot; 说明 :    #if($mobile)   这种写法 只能 对null 起作用   也就是说  #if($mobile)    or receiver_mobile =:mobile   #end   如果 mobile 参数 是 null, 那么sql 不...
if(!xx)去判断值是否存在的问题
今天发现的一个低级错误.写js时当数据类型是number的情况下,不要使用if(!xx)去判断值是否存在..............因为xx=0 or xx=1时就违背你原有的意思咯
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 nlp商学院收费情况 java课程设计怎么做