<table class="text">
<tr class="li1"><td class="ln"><pre class="de1">1
2
3
4
5
6
7
8
9
10
@H_301_1@</td>
<td class="de1"><pre class="de1">在toString方法被调用时,会执行下面的操作步骤:
- 获取this对象的[[Class]]属性的值.
- 计算出三个字符串"[object ",第一步的操作结果Result(1),以及 "]"连接后的新字符串.
- 返回第二步的操作结果Result(2)
其中[[Class]]是一个内部属性,所有的对象(原生对象和宿主对象)都拥有该属性.在规范中,[[Class]]是这么定义的:
所有宿主对象的[[Class]]属性的值可以是任意值,甚至可以是内置对象使用过的[[Class]]属性的值.[[Class]]属性的值可以用来判断一个原生对象属于哪种内置类型.需要注意的是,除了通过Object.prototype.toString方法之外,本规范没有提供任何其他方式来让程序访问该属性的值(查看 15.2.4.2)
而调用call方法则将this绑定到了当前要判断类型的数值上@H_301_1@</td>
</tr>