天天看点

var txt和var txt=""定义变量有什么区别

var txt;

alert(txt);

你看结果,明显是不一样的,是undefined。在js里用不是一样的,这样只是定义了一个变量,没有值,相当于一个空指针。

var txt="";定义一个变量,并指向一个空字符串,那个变量是有值的,相当于指针指到了一个对象。

前面的情况,只是定义一变量指针。而后一种情况,定义了一个变量指针,并且创建了一个对象,在内存里明显多了个空字符串对象。

js是弱对象类型引用的,一个变量可以随便指向不同类型的值。

所以,很明显,不赋初始值好点。一般来说,如果不要默认值的话,是不给初始值的,初始值是作为默认值存在的。

js