var foo = 4;
foo = "string"
这会发生什么?
答案 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);
完美运行。