Javascript JS-显示函数中的null属性
我知道已经有人问过检查值是否为null或未定义的问题,但我在这里遇到了一个我不理解的问题。我做了一个函数来分割一个字符串,它就像一个符咒。但是当我传递一个null或未定义的值时,程序停止。我想要的是能够有一个空字符串,而不是程序停止。 代码如下:Javascript JS-显示函数中的null属性,javascript,typescript,Javascript,Typescript,我知道已经有人问过检查值是否为null或未定义的问题,但我在这里遇到了一个我不理解的问题。我做了一个函数来分割一个字符串,它就像一个符咒。但是当我传递一个null或未定义的值时,程序停止。我想要的是能够有一个空字符串,而不是程序停止。 代码如下: splitString(str: string, length: number) { var words = str.split(" "); if (typeof(str) === null ){ r
splitString(str: string, length: number) {
var words = str.split(" ");
if (typeof(str) === null ){
return " "
}
else {
for (var j = 0; j < words.length; j++) {
var l = words[j].length;
if (l > length) {
var result = [], i = 0;
while (i < l) {
result.push(words[j].substr(i, length))
i += length;
}
words[j] = result.join(" ");
}
}
return words.join(" ");
}
}
你知道如何避免程序停止,让他在空字符串时输入一个空字符串吗?
多谢各位
编辑:
现在使用以下代码:
splitString(str: string, length: number) {
if (str != null && str != undefined){
var words = str.split(" ");
for (var j = 0; j < words.length; j++) {
var l = words[j].length;
if (l > length) {
var result = [], i = 0;
while (i < l) {
result.push(words[j].substr(i, length))
i += length;
}
words[j] = result.join(" ");
}
}
return words.join(" ");
}
else if (typeof(str) === null ){
return " "
}
}
splitString(str:string,length:number){
if(str!=null&&str!=undefined){
var words=str.split(“”);
for(var j=0;j长度){
var结果=[],i=0;
而(i
实际上,您可以在代码块内部的函数参数中默认为空(”
)字符串。以下是一个例子:
splitString(str: string, length: number) {
var words = (str || " ").split(" ");
for (var j = 0; j < words.length; j++) {
var l = words[j].length;
if (l > length) {
var result = [], i = 0;
while (i < l) {
result.push(words[j].substr(i, length))
i += length;
}
words[j] = result.join(" ");
}
}
return words.join(" ");
}
splitString(str:string,length:number){
var words=(str | |“”).split(“”);
for(var j=0;j长度){
var结果=[],i=0;
而(i
您能否先测试str
是否为空,然后返回并尽早离开块在尝试拆分字符串之前,您应该检查null
。以及null==“object”的类型。检查是否相等,而不是类型您拥有的var words=str.split(“”)
作为函数中的第一条语句,在您检查str
的类型之前。是的,因为当他检查null时,代码已经抱怨了。谢谢大家,我成功了,谢谢大家。这是一个很大的错误。。。我用正确的函数更新了代码谢谢。我用工作函数编辑了代码。
splitString(str: string, length: number) {
var words = (str || " ").split(" ");
for (var j = 0; j < words.length; j++) {
var l = words[j].length;
if (l > length) {
var result = [], i = 0;
while (i < l) {
result.push(words[j].substr(i, length))
i += length;
}
words[j] = result.join(" ");
}
}
return words.join(" ");
}