在javascript中加入两个变量

时间:2012-01-23 20:54:08

标签: javascript join time

var s= new Date().getHours();       // 20
var m= new Date().getMinutes();     // 38
document.write(s,m);                // returns 2038

var time = s,m;
document.write(time);               // returns only 20

var time = s+m;
document.write(time);               // returns 58

如何使用s和m变量声明一个返回2038的时间变量?

3 个答案:

答案 0 :(得分:1)

将一个投射到一个字符串。

var time = ''+s+m;
document.write(time);

答案 1 :(得分:1)

你必须先确保js知道它的字符串。

var time = "" + s + m;

答案 2 :(得分:0)

更长的答案是JavaScript在看到这样的代码时会应用一些规则。

在这种情况下,document.write(s,m)只输出每个值:

var s= new Date().getHours();       // 20
var m= new Date().getMinutes();     // 38
document.write(s,m);                // returns 2038

以下是声明两个变量(用逗号分隔),一个名为time,一个名为m,变量s中包含的值分配给{{1 }}。使用JavaScript范围规则,您可以声明例如您可以在函数中随意使用time,它始终引用相同的变量var m

m

JavaScript使用var time = s,m; document.write(time); // returns only 20 进行添加和连接,并尝试强制变量以匹配第一个变量的类型,以决定是执行添加还是连接。在这种情况下,+是一个数字,因此它会尝试对这两个值执行加法:

s

正确的JavaScript习惯用法是在表达式的开头放置一个空字符串,JavaScript会尝试将后续变量强制转换为该类型:

var time = s+m;
document.write(time);               // returns 58