0

我定义 var 如下:

var k, k1 ="";
k += '<li><a>'+data+'</a></li>';
k1 += '<li><a>'+data+'</a></li>';

并附加如下:

a("ul#foo4", d.$me).append(k);   
a("ul#foo5", d.$me).append(k1);   

我收到一个错误是“未定义”,数据是从 var k 附加的,k1 没问题。

另一方面,如果我将 var 定义为:

var k =""; var k1 ="";“未定义”错误已解决。

告诉我为什么?

4

6 回答 6

5

在将字符串附加到变量之前,您需要使用一些值初始化变量 k。

k在初始化之前保持未定义。

因此,当您初始化时var k="";,它解决了所有问题。

我希望你知道原因。

于 2013-11-02T14:00:56.547 回答
3

在您的第一行中,您没有为k. var k = "" ; var k1 = "";改为这样做。

于 2013-11-02T13:58:12.810 回答
3

因为线后

var k, k1 = ""

k将是undefined并且k1将是""。这不是错误,这就是 javascript 的工作原理。

undefined.append然后产生一个错误

解决方案是写

var k = "";
var k1 = "";

就像你上面提到的

于 2013-11-02T14:01:09.620 回答
2

你不定义k="".

k将和都定义k1为 emty:

var k = "";
var k1 = "";

然后它应该工作。

于 2013-11-02T14:01:51.607 回答
0

在 javascript 和 jquery 中定义超过 1 个变量时定义每个变量,例如..

var k="", k1=""; 
otherwise 
var k, k1 ="";
in this case it will create the variable k but with no value...
于 2013-11-02T14:03:39.707 回答
0

您还可以使用相同的 var 关键字声明多个变量,如下所述:

 var k,k1;
于 2013-11-02T14:20:34.300 回答