几周前我开始学习JavaScript。
所以我做了一个JavaScript作业,我不得不在奇数之间添加一个超级。 例: 输入:123233 输出:12323-3
我四处寻找帮助,偶然发现了这个人的代码
function insertDashes(num) {
var inStr = String(num);
var outStr = inStr[0], ii;
for (ii = 1; ii < inStr.length; ii++)
{
if (inStr[ii-1] % 2 !== 0 && inStr[ii] % 2 !== 0) {
outStr += '-';
}
outStr += inStr[ii];
}
return outStr;
}
第2行中的字符串(num)是什么意思?
另外,为什么var outStr = inStr [0],ii;在第3行?
我得到了inStr [0],但&#34;,ii&#34;是什么?办?
答案 0 :(得分:1)
String(num)是什么意思? 在javascript中, String()表示将变量转换为字符串, 就这么简单......
例如 var x = 1212323.9; X =字符串(X); 强>
如您所见,它与 x.toString()的镜像完全相同; 希望它有帮助...
答案 1 :(得分:0)
String()
将某些内容更改为字符串
例如:
num = 7
//7
String(num)
//"7"
答案 2 :(得分:0)
让我们查看MDN:
String全局对象是字符串或序列的构造函数 人物。
String(thing)
参数
thing
任何要转换为字符串的东西。[...] 字符串文字(用双引号或单引号表示)和非构造函数上下文中String调用返回的字符串(即不使用
new
关键字)是原始字符串。
所以它基本上是String
对象的构造函数,但在没有new
关键字的情况下调用,因此它返回一个字符串文字而不是String
对象:
请注意,JavaScript区分String对象和 原始字符串值。 (布尔和数字也是如此。)
在Node控制台中进行快速测试:
> String(123)
'123'
> typeof String(123)
'string'
> new String(123)
[String: '123']
> typeof new String(123)
'object'
简而言之,它将任意数据类型转换为字符串,以便以后可以进行字符串操作。
关于这一点:
var outStr = inStr[0], ii;
...它只是定义outStr
和ii
的{{3}}:
变量语句声明一个变量,可选择初始化它 一个值。
var varname1 [= value1] [, varname2 [= value2] ... [, varnameN [= valueN]]]];
它具有与以下相同的效果:
var outStr = inStr[0];
var ii;