Javascript类型不匹配错误

时间:2014-02-18 18:33:14

标签: javascript

我有以下代码,我不确定为什么我收到错误`类型不匹配'

如果我只是拥有以下内容,那就有效;

工作代码

newTag = tags.AddNew( 'MyTag0', 'Number0' );
newTag.Update();

返回错误的代码

var p = {
    "MyTag0" : "Number0",
    "MyTag1" : "Number1"
};

for (var key in p) {
    if (p.hasOwnProperty(key)) {
        newTag = tags.AddNew("'" + key + "'" + " , " + "'" + p[key] + "'");
        newTag.Update();
    }
}   

2 个答案:

答案 0 :(得分:2)

它们已经是字符串,你必须建立一个字符串,试图看起来像一个字符串。

newTag = tags.AddNew("'" + key + "'" + " , " + "'" + p[key] + "'");

以上代码的结果是

newTag = tags.AddNew( "'MyTag0'", "'Number0'" );

只需要

newTag = tags.AddNew(key, p[key]);

答案 1 :(得分:0)

使用这样的东西:

  if (p.hasOwnProperty(key)) {
  var k = "'" + key + "'";
  var pk = "'" + p[key] + "'";
  newTag = tags.AddNew(k, pk);
  newTag.Update();

}

另一个想法(不能调试,但你可以尝试..)