我在JavaScript中的substr((有问题。
请查看下面的代码。
以下作用如预期。 y = 2017
var add_date = "20170505";
var y = add_date.substr(0, 4);
alert(y);
但是...以下内容不起作用。它应该返回'05',而是返回0505。 m = 0505
var add_date = "20170505";
var m = add_date.substr(4, 6);
alert(m);
有人可以解释我怎么了?
谢谢,
Nathan
.substr(4,6)
方法返回 6 从索引4
开始的字符。改用.substring
。
var add_date = "20170505",
y = add_date.substring(0, 4);
console.log(y);
var add_date = "20170505",
m = add_date.substring(4, 6);
console.log(m);
javaScript的subttr命令的语法为: string.substr(start,length(。因此,代码线应读取:
var m = add_date.substr(4, 2);
String.substr
的第二个参数指定的字符数提取。
您的代码应如下:
var add_date = "20170505";
var m = add_date.substr(4, 2);
alert(m);
substr()
有两个参数,可以指定起始索引和提取长度。
您可能会将其与 .substring()
进行混淆,该方法采用了两个开始索引和结束索引的参数。
subtr函数的参数是开始和长度,而不是启动和结束
在控制台中您可以看到:
"ABCDEFGHIJKL".substr(0,4)
"ABCD"
"ABCDEFGHIJKL".substr(4,6)
"EFGHIJ"
"ABCDEFGHIJKL".substr(4,2)
"EF"
所以你想要的是
.substr(4,2)