黑马程序员技术交流社区

标题: js问题 [打印本页]

作者: naruto2205    时间: 2013-12-17 23:29
标题: js问题
本帖最后由 naruto2205 于 2013-12-18 22:19 编辑

在js中null和""是什么关系,跟C#中一样吗

作者: kun1990    时间: 2013-12-17 23:50
js中的null是一种类型,而“”表示的是空的意思,至于c#不清楚
作者: 丑男先生。    时间: 2013-12-18 08:24
假定我们有一个变量叫a,如果它的值是null,就意味着它的类型、值什么的全都没有赋予,但如果它的值是"",就意味着它是字符串型的变量。你可以用这样一行代码来看出它的区别:
if(a) alert("存在");

if(a)的意思,就是这个变量是否存在
作者: 如远行客    时间: 2013-12-18 09:48
null就表示变量的值为空,就是没有值。而“”表示空字符串,也就是有值,只是这个值的内容时空的。和C#中是一样的!
作者: 一席倾城    时间: 2013-12-18 12:51
js是弱类型的语言  ,解释型.所以js的null 和 “  ”没有什么太大联系,然后为null值的对象会被自动回收。 在js中  null 0  undefined NaN ""  放到if() 中 都会被解释成false。然后在C#中就是没有值和空字符串了,差不太多。
作者: 红鹰(Jake)    时间: 2013-12-18 13:18
在js中null,表示什么也不表示,没有任何的值
比如:var  a;
没有赋值,此时就是一个null.
而在c#中,表示的没有实例化对象
比如:定义一个student类
student    student1;
此时没有对student1实例化,就是一个null。
作者: 雨中恋人    时间: 2013-12-18 13:32
String name==null;//是空引用
String name="";//这是个空字符串
String name="";这个在堆上分配了储存空间.你可以调用String的所有方法.

第一个只是空引用.不能在第一个上调用String的任何方法.因为他是一个空引用.空字符串也是串.




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2