String(num)是什么意思?

时间:2016-09-16 10:38:15

标签: javascript

几周前我开始学习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;是什么?办?

3 个答案:

答案 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;

...它只是定义outStrii的{​​{3}}:

  

变量语句声明一个变量,可选择初始化它   一个值。

var varname1 [= value1] [, varname2 [= value2] ... [, varnameN [= valueN]]]];

它具有与以下相同的效果:

var outStr = inStr[0];
var ii;