如果将声明的变量设置为其他类型会发生什么?

时间:2015-06-19 13:05:56

标签: javascript

var foo = 4;
foo = "string"

这会发生什么?

5 个答案:

答案 0 :(得分:4)

foo获得一个新值"string"。 JavaScript是一种松散类型的语言,变量(和对象属性)不仅限于在生命周期中只保存一种类型的值。

无端的例子:

var foo = 42;
snippet.log(typeof foo); // "number"
foo = "The question of Life, the Universe, and Everything";
snippet.log(typeof foo); // "string"
<!-- Script provides the `snippet` object, see http://meta.stackexchange.com/a/242144/134069 -->
<script src="http://tjcrowder.github.io/simple-snippets-console/snippet.js"></script>

答案 1 :(得分:1)

类型......更改。它不再是一个数字,而是一个字符串。 JS是“类型流动的”。

答案 2 :(得分:0)

JavaScript没有严格的变量类型。所以没有给出错误; foo刚刚等于你的字符串

答案 3 :(得分:0)

它将成为string。你可以像这样检查变量的数据类型

typeof(foo);

答案 4 :(得分:0)

似乎JS并不关心这种类型。至少在小提琴中。

示例:

var foo = 4;
alert(foo);
foo = "string";
alert(foo);

完美运行。