我如何检查一个变量,如果它是空或未定义,空和未定义之间的区别是什么? ==和===之间的区别是什么(很难搜索谷歌“===”)?
当前回答
尝试不同的逻辑。你可以使用下面的代码检查所有(4)条件验证,如不null,不空白,不定义,不为零,只使用这个代码(!(!(变量)))在javascript和jquery。
function myFunction() {
var data; //The Values can be like as null, blank, undefined, zero you can test
if(!(!(data)))
{
//If data has valid value
alert("data "+data);
}
else
{
//If data has null, blank, undefined, zero etc.
alert("data is "+data);
}
}
其他回答
如果你的(逻辑)检查是否定的(!),你想捕获JS的null和undefined(因为不同的浏览器会给你不同的结果),你会使用限制性较低的比较: 例如:
var ItemID = Item.get_id();
if (ItemID != null)
{
//do stuff
}
这将捕获null和undefined
未定义的
这意味着变量还没有初始化。
例子:
var x;
if(x){ //you can check like this
//code.
}
等于(= =)
它只检查值是否等于非数据类型。
例子:
var x = true;
var y = new Boolean(true);
x == y ; //returns true
因为它只检查值。
严格等于(= = =)
检查值和数据类型是否相同。
例子:
var x = true;
var y = new Boolean(true);
x===y; //returns false.
因为它检查数据类型x是一个基本类型,y是一个布尔对象。
差别很细微。
在JavaScript中,未定义的变量是一个从未声明或从未赋值的变量。假设你声明var a;例如,a将是未定义的,因为它从未被赋值。
但如果你赋值a = null;那么a现在是空的。在JavaScript中,null是一个对象(如果你不相信我,可以在JavaScript控制台中试试typeof null),这意味着null是一个值(事实上,甚至undefined也是一个值)。
例子:
var a;
typeof a; # => "undefined"
a = null;
typeof null; # => "object"
这在函数参数中很有用。您可能希望有一个默认值,但可以考虑null。在这种情况下,你可以:
function doSomething(first, second, optional) {
if (typeof optional === "undefined") {
optional = "three";
}
// do something
}
如果你省略了可选参数doSomething(1,2),那么optional将是“three”字符串,但如果你传递doSomething(1,2, null),那么optional将是null。
至于equal ==和strict equal ===比较器,第一个是弱类型,而strict equal也检查值的类型。这意味着0 == "0"将返回true;而0 === "0"将返回false,因为数字不是字符串。
您可以使用这些操作符来检查undefined和null之间的值。例如:
null === null # => true
undefined === undefined # => true
undefined === null # => false
undefined == null # => true
最后一种情况很有趣,因为它允许你检查一个变量是否为undefined或null。
function test(val) {
return val == null;
}
test(null); # => true
test(undefined); # => true
广告1。Null不是全局对象属性的标识符,不像undefined可以
让x;/ /定义 让y =零;/ /空 让z = 3;//有值 // 'w' //未声明 If (!x) console.log('x为空或未定义'); 如果(!y) console.log('y是空的或未定义的'); If (!z) console.log('z为空或未定义'); Try {if(w) 0} catch(e) {console.log('w is undefined ')} // typeof不抛出未声明变量的异常 If (typeof w === 'undefined') console.log('w is undefined');
广告2。===检查值和类型。==不需要相同的类型,并在比较之前进行隐式转换(使用. valueof()和. tostring())。这里你有所有(src):
if
==(否定!=)
===(它的否定!==)
我如何检查一个变量,如果它是空的或未定义
检查一个变量是否有一个有效值,就像这样:
if(variable)
如果变量不包含:
零 未定义的 0 假 ""(空字符串) 南
推荐文章
- 给一个数字加上st, nd, rd和th(序数)后缀
- 如何以编程方式触发引导模式?
- setTimeout带引号和不带括号的区别
- 在JS的Chrome CPU配置文件中,'self'和'total'之间的差异
- 用javascript检查输入字符串中是否包含数字
- 如何使用JavaScript分割逗号分隔字符串?
- 在Javascript中~~(“双波浪号”)做什么?
- 谷歌chrome扩展::console.log()从后台页面?
- 未捕获的SyntaxError:
- [].slice的解释。调用javascript?
- jQuery日期/时间选择器
- 我如何预填充一个jQuery Datepicker文本框与今天的日期?
- 数组的indexOf函数和findIndex函数的区别
- jQuery添加必要的输入字段
- Access-Control-Allow-Origin不允许Origin < Origin >