admin管理员组文章数量:1026989
空和null的区别
1.NULL:代表声明了一个空对象,不是一个字符串,可以赋给任何对象。 空字符:代表声明了一个对象实例,这个对象实例的值是一个长度为0的空字符串。
2.string a=null; 只是定义了一个句柄,即你有了个引用,但是这个引用未指向任何内存空间。 string a=””; 这个引用已经指向了一块是空字符串的内存空间,是一个实际的东西了,所以可以对它操作。
在MVC中视图回填数据时,向控制器请求数据时,有时会出现空数据这种情况,返回的是一个null或者一个空的字符串。在这个时候在判断它不等与null或者空时,就会有可能存在不不执行回调函数的情况。
这是一个人为的异常,但视图在浏览器请求不会有报错的提示,其实该请求是执行完的,但在你判断的时候它并没有执行你回调函数里的判断返回后的if或者else里面的代码。
所以当用json返回一个null时,它不是一个东西,空的什么都没有,所以在回调函数里的判断没有拿到东西去判断,所以就跳过执行。
那么当return Json("", JsonRequestBehavior.AllowGet);就可以判断并执行里的代码。
空和null的区别
1.NULL:代表声明了一个空对象,不是一个字符串,可以赋给任何对象。 空字符:代表声明了一个对象实例,这个对象实例的值是一个长度为0的空字符串。
2.string a=null; 只是定义了一个句柄,即你有了个引用,但是这个引用未指向任何内存空间。 string a=””; 这个引用已经指向了一块是空字符串的内存空间,是一个实际的东西了,所以可以对它操作。
在MVC中视图回填数据时,向控制器请求数据时,有时会出现空数据这种情况,返回的是一个null或者一个空的字符串。在这个时候在判断它不等与null或者空时,就会有可能存在不不执行回调函数的情况。
这是一个人为的异常,但视图在浏览器请求不会有报错的提示,其实该请求是执行完的,但在你判断的时候它并没有执行你回调函数里的判断返回后的if或者else里面的代码。
所以当用json返回一个null时,它不是一个东西,空的什么都没有,所以在回调函数里的判断没有拿到东西去判断,所以就跳过执行。
那么当return Json("", JsonRequestBehavior.AllowGet);就可以判断并执行里的代码。
本文标签: 空和null的区别
版权声明:本文标题:空和null的区别 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://it.en369.cn/IT/1694664063a254761.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论