TS

Basic

JavaScript中的每一个值都会拥有很多“行为”,你可以通过对值进行不同的操作来观察到。听上去很抽象,下面的代码,有一个变量message

1
2
3
4
5
// Accessing the property 'toLowerCase'
// on 'message' and then calling it
message.toLowerCase();
// Calling 'message'
message();

我们一行一行来看,第一行代码读取message的toLowerCase属性,然后调用它。第二行代码尝试直接调用message变量。

但是我们不知道message变量的值是什么(通常我们直接看都看不出来),我们无法确凿地说这些代码运行后会怎样。上面代码的操作完全依赖于声明message变量时,存了什么值给他。

  • message是可以直接被调用的吗?
  • message上真的有一个属性叫toLowerCase吗?
  • 即使有toLowerCase属性,它可以直接被调用吗?
  • 如果message和toLowerCase都可以直接被调用,他们返回什么呢?

以上问题的答案通常都存在我们编写代码时的混沌头脑中,那时我们不得不祈祷我们能够掌握所有细节,且是正确的细节。

updatedupdated2021-05-162021-05-16