首页 > 解决方案 > Google 脚本字符串以 ... 结尾,然后未定义

问题描述

我确定我的问题有一个非常基本的原因,我希望你能指出:) 我遇到的问题是一个字符串在创建线上显示为以“...”结尾,但是当继续下一行变成“未定义”。这是一个例子:

var string1 = "sdfsdfsdfsdfsdfsdfsfsfsfsdfsdfsdfsdfsdfsdfsfasdfasfasdflkjasldflasdkjflaksdjflasjdflaksjdflasdkjf";
var string2 = "sdfgsdfglksjdflgkjsdlfgkjlsdfgkjlsdkgjlkajsdlfkjladskjflakjdsflkajsdlfkjasdlfkjalsdkfjlaskdjflkasjdf";
var string3 = "sdfglksfdjlgkjsldfgkjlsdfkjglsdfkjglsdkfjglsdkjglsdkgjlsdfkjglsdkfjglsdkfjglsdkjglsdkfjglsdkfjglskfdjglsdkjfg";
var string = string1.concat(string2,string3); // debug breakpoint at this line shows the string as ending with ...
var length = string.length(); // debug breakpoint here shows "string" as undifiend but length apears to be working fine.

我在此字符串上运行的任何其他函数都会返回错误,因为该字符串未定义。想法?

标签: javascriptstringgoogle-apps-script

解决方案


错误不是string未定义的。这string.length()是未定义的。

length()字符串在 javascript 中没有函数。他们有一个财产.length。您看到的省略号...可能只是您的控制台截断了控制台输出,但整个字符串仍然存在。见下文。

var string1 = "sdfsdfsdfsdfsdfsdfsfsfsfsdfsdfsdfsdfsdfsdfsfasdfasfasdflkjasldflasdkjflaksdjflasjdflaksjdflasdkjf";
var string2 = "sdfgsdfglksjdflgkjsdlfgkjlsdfgkjlsdkgjlkajsdlfkjladskjflakjdsflkajsdlfkjasdlfkjalsdkfjlaskdjflkasjdf";
var string3 = "sdfglksfdjlgkjsldfgkjlsdfkjglsdfkjglsdkfjglsdkjglsdkgjlsdfkjglsdkfjglsdkfjglsdkjglsdkfjglsdkfjglskfdjglsdkjfg";
var string = string1.concat(string2,string3); // debug breakpoint at this line shows the string as ending with ...
var length = string.length; // debug breakpoint here shows "string" as undifiend but length apears to be working fine.
console.log(string);
console.log(length);

参考:


推荐阅读