我正在按照本教程学习javascript,目前在本教程的第33个视频中:EJ media Javascript
作者在他的视频中说,下面的对象是一个字符串对象:
var hello = "hello world";
一段时间后,他在下面
hello = hello.length;
我无法理解这里的hello
状态 - 这仍然是一个字符串对象(因为hello.length
返回一个数字,我们将它存储在同一个hello变量和同一范围内)。如果这是基本的,请告诉我,我已尝试使用术语" java脚本字符串分配"进行搜索,但没有任何相关内容。
以下是整个代码:
var hello = "hello world";
hello = hello.length;
答案 0 :(得分:3)
这是因为JavaScript是动态和弱类型的语言。
动态类型表示类型检查将在运行时而不是在编译器中执行。
弱键入是指能够在代码中动态更改类型。
考虑到这些属性后,var hello="hello world";
将定义一个名为hello
的变量,其值为String
,当您执行hello=hello.length;
时,您将覆盖hello
} Number
hello.length
类型的值
var hello = "hello world";
console.log(typeof hello);
hello = hello.length;
console.log(typeof hello);

答案 1 :(得分:2)
在javascript中,变量类型是可变的。可能有一个技术名称。
您可以重复更改变量类型。
例如,将字符串“1234”更改为数字类型的最简洁方法是执行“1234”* 1;