Null是外键可以为空吗还是不外键可以为空吗

js判断为空Null与字符串为空简写方法
转载 &更新时间:日 17:30:38 & 作者:
最近开始研究JavaScript的简写方法,下面就是有关判断为空的简写方法
最近突然发现自己写的JavaScript代码比较臃肿,所以开始研究JavaScript的简写方法。这样一来,可以让我们的JavaScript代码看起来比较清爽,同时也可以提高我们的技术。那么判断为空怎么简写呢? 下面就是有关判断为空的简写方法。 代码如下
代码如下: if (variable1 !== null || variable1 !== undefined || variable1 !== '') { var variable2 = variable1; }
上面的意思是说如果variable1不是一个空对象,或者未定义,或者不等于空字符串,那么声明一个variable2变量,将variable1赋给variable2。也就是说如果variable1存在那么就将variable1的值赋给variable2,若不存在则为空字符串。如下面的简写代码。 简写代码: 代码如下
代码如下: var variable2 = variable1 || '';
以下是不正确的方法: 代码如下
代码如下: var exp = if (exp == null) { alert("is null"); }
exp 为 undefined 时,也会得到与 null 相同的结果,虽然 null 和 undefined 不一样。注意:要同时判断 null 和 undefined 时可使用本法。 代码如下
代码如下: var exp = if (!exp) { alert("is null"); }
如果 exp 为 undefined,或数字零,或 false,也会得到与 null 相同的结果,虽然 null 和二者不一样。注意:要同时判断 null、undefined、数字零、false 时可使用本法。 代码如下
代码如下: var exp = if (typeof exp == "null") { alert("is null"); }
为了向下兼容,exp 为 null 时,typeof null 总返回 object,所以不能这样判断。 代码如下
代码如下: var exp = if (isNull(exp)) { alert("is null"); }
判断字符串是否为空 s 匹配任何空白字符,包括空格、制表符、换页符等等。等价于 [ fnrtv]。 很多情况下,都是用length来直接判断字符串是否为空,如下: 代码如下
代码如下: var strings = ''; if (string.length == 0) { alert('不能为空'); }
但如果用户输入的是空格,制表符,换页符呢?这样的话,也是不为空的,但是这样的数据就不是我们想要的吧。 其实可以用正则表达式来把这些“空”的符号去掉来判断的 代码如下
代码如下: var strings = ' '; if (strings.replace(/(^s*)|(s*$)/g, "").length ==0) { alert('不能为空'); }
s 小写的s是,匹配任何空白字符,包括空格、制表符、换页符等等。等价于 [ fnrtv]。 判断为空怎么简写,就为大家介绍到这里,希望上面的方法能对大家有所帮助。
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具undefined与null的区别 - 阮一峰的网络日志
undefined与null的区别
大多数计算机语言,有且仅有一个表示"无"的值,比如,C语言的NULL,Java语言的null,Python语言的None,Ruby语言的nil。
有点奇怪的是,JavaScript语言居然有两个表示"无"的值:undefined和null。这是为什么?
一、相似性
在JavaScript中,将一个变量赋值为undefined或null,老实说,几乎没区别。
上面代码中,a变量分别被赋值为undefined和null,这两种写法几乎等价。
undefined和null在if语句中,都会被自动转为false,相等运算符甚至直接报告两者相等。
if (!undefined)
console.log('undefined is false');
// undefined is false
if (!null)
console.log('null is false');
// null is false
undefined == null
上面代码说明,两者的行为是何等相似!
既然undefined和null的含义与用法都差不多,为什么要同时设置两个这样的值,这不是无端增加JavaScript的复杂度,令初学者困扰吗?Google公司开发的JavaScript语言的替代品Dart语言,就明确规定只有null,没有undefined!
二、历史原因
最近,我在读新书时,意外发现了这个问题的答案!
原来,这与JavaScript的历史有关。1995年时,最初像Java一样,只设置了null作为表示"无"的值。
根据C语言的传统,null被设计成可以自动转为0。
Number(null)
但是,JavaScript的设计者Brendan Eich,觉得这样做还不够,有两个原因。
首先,null像在Java里一样,被当成一个对象。但是,JavaScript的数据类型分成原始类型(primitive)和合成类型(complex)两大类,Brendan Eich觉得表示"无"的值最好不是对象。
其次,JavaScript的最初版本没有包括错误处理机制,发生数据类型不匹配时,往往是自动转换类型或者默默地失败。Brendan Eich觉得,如果null自动转为0,很不容易发现错误。
因此,Brendan Eich又设计了一个undefined。
三、最初设计
JavaScript的最初版本是这样区分的:null是一个表示"无"的对象,转为数值时为0;undefined是一个表示"无"的原始值,转为数值时为NaN。
Number(undefined)
5 + undefined
四、目前的用法
但是,上面这样的区分,在实践中很快就被证明不可行。目前,null和undefined基本是同义的,只有一些细微的差别。
null表示"没有对象",即该处不应该有值。典型用法是:
(1) 作为函数的参数,表示该函数的参数不是对象。
(2) 作为对象原型链的终点。
Object.getPrototypeOf(Object.prototype)
undefined表示"缺少值",就是此处应该有一个值,但是还没有定义。典型用法是:
(1)变量被声明了,但没有赋值时,就等于undefined。
(2) 调用函数时,应该提供的参数没有提供,该参数等于undefined。
(3)对象没有赋值的属性,该属性的值为undefined。
(4)函数没有返回值时,默认返回undefined。
i // undefined
function f(x){console.log(x)}
f() // undefined
o = new Object();
o.p // undefined
var x = f();
x // undefined
JavaScript 程序越来越复杂,调试工具的重要性日益凸显。客户端脚本有浏览器,Node 脚本怎么调试呢?
JavaScript 是单线程运行,异步操作特别重要。
2017年6月,TC39 委员会正式发布了《ES2017 标准》。
Web 技术突飞猛进,但是有一个领域一直无法突破 ---- 游戏。Copyright &
PC6下载(www.pc6.com).All Rights Reserved
湘网文 (-053号 增值电信业务经营许可证: 湘B2-在百度贴吧,老是出现null不能为空,是什么意思。_百度知道
在百度贴吧,老是出现null不能为空,是什么意思。
我有更好的答案
为您推荐:
其他类似问题
百度贴吧的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。09:57 提问
js赋值如果为null,则值为null还是空
用js给页面赋值
$("#username").val(data.username)假如username为null,那么页面上是null吗?
如果是null,那么我页面上要赋十几个值,不是要每个都判断,有简单的方法吗?
按赞数排序
你的null是指null值还是'null'字符串先,如果是null值或者键名称不存在不会显示null或者undefined,可以直接用
&input type="text" /&
&script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.4.1.min.js"&&/script&
var d = { name: null }//不会显示null
//var d = {
}//不会显示undefined
//var d = { name: 'null' }//你是字符串,会显示null
$('input').val(d.name)
1.假如username为null,那么页面上是null。
2.没有,你只能逐个判断。
写个方法把data遍历一次,判断是null就全部替换成你要显示的东西。
、、、、、ps: 常理说,这个工作应该由后端童鞋完成
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐

我要回帖

更多关于 js判断对象是否为空 的文章

 

随机推荐