mirror of
https://github.com/fofolee/uTools-Manuals.git
synced 2026-02-28 01:58:28 +08:00
语法高亮,滚动条美化,设置页面调整
This commit is contained in:
@@ -2,39 +2,39 @@
|
||||
<p></p><p></p>
|
||||
<p><code><strong>toString()</strong></code> 方法返回一个表示该对象的字符串。</p>
|
||||
<h2 id="Syntax" name="Syntax">语法</h2>
|
||||
<pre class="syntaxbox"><code><em>object</em>.toString()</code>
|
||||
</pre>
|
||||
<pre><code class="language-javascript"><code><em>object</em>.toString()</code>
|
||||
</code></pre>
|
||||
<h3 id="返回值">返回值</h3>
|
||||
<p>表示该对象的字符串。</p>
|
||||
<h2 id="Description" name="Description">描述</h2>
|
||||
<p>每个对象都有一个<code>toString()</code>方法,当该对象被表示为一个文本值时,或者一个对象以预期的字符串方式引用时自动调用。默认情况下,<code>toString()</code>方法被每个<code>Object</code>对象继承。如果此方法在自定义对象中未被覆盖,<code>toString()</code> 返回 "[object <em>type</em>]",其中<code>type</code>是对象的类型。以下代码说明了这一点:</p>
|
||||
<pre class="brush: js"><code>var o = new Object();
|
||||
o.toString(); // returns [object Object]</code></pre>
|
||||
<pre><code class="language-javascript"><code>var o = new Object();
|
||||
o.toString(); // returns [object Object]</code></code></pre>
|
||||
<div class="note"><strong>注意:</strong>从JavaScript1.8.5开始<code>toString()</code>调用 <a href="Reference/Global_Objects/null" title="值 null 特指对象的值未设置。它是 JavaScript 基本类型 之一。"><code>null</code></a>返回<code>[object <em>Null</em>]</code>,<a href="Reference/Global_Objects/undefined" title="undefined是全局对象的一个属性。也就是说,它是全局作用域的一个变量。undefined的最初值就是原始数据类型undefined。"><code>undefined</code></a> 返回<code>[object Undefined]</code>,如第5版的ECMAScript和随后的Errata。请参阅<a href="#Using_toString()_to_detect_object_class">使用<code>toString()</code>检测对象类型</a>。</div>
|
||||
<h2 id="Examples" name="Examples">示例</h2>
|
||||
<h3 id="Overriding_the_default_toString_method" name="Overriding_the_default_toString_method">覆盖默认的<code>toString</code>方法</h3>
|
||||
<p>可以自定义一个方法来取代默认的<span> </span><code>toString()</code><span> 方法。该</span><span> </span><code>toString()</code><span> 方法不能传入参数并且必须返回一个字符串。自定义的</span><span> </span><code>toString()</code><span> 方法可以是任何我们需要的值,但如果它附带有关对象的信息,它将变的非常有用。</span></p>
|
||||
<p><span>以下代码定义了<code>Dog</code>对象类型,并创建了一个<code>Dog</code>类型的</span><code>theDog</code><span>对象:</span></p>
|
||||
<pre class="brush: js">function Dog(name,breed,color,sex) {
|
||||
<pre><code class="language-javascript">function Dog(name,breed,color,sex) {
|
||||
this.name=name;
|
||||
this.breed=breed;
|
||||
this.color=color;
|
||||
this.sex=sex;
|
||||
}
|
||||
|
||||
var theDog = new Dog("Gabby","Lab","chocolate","female");</pre>
|
||||
var theDog = new Dog("Gabby","Lab","chocolate","female");</code></pre>
|
||||
<p>如果当前的对象调用了<span> </span><code>toString()</code><span> 方法,它将会返回从</span><a href="Reference/Global_Objects/Object" title="Object 构造函数创建一个对象包装器。"><code>Object</code></a>继承下来的<span> </span><code>toString()</code><span>方法</span><span>的返回默认值:</span></p>
|
||||
<pre class="brush: js"><code>theDog.toString(); // returns [object Object]</code></pre>
|
||||
<pre><code class="language-javascript"><code>theDog.toString(); // returns [object Object]</code></code></pre>
|
||||
<p>下面的代码中定义了一个叫做<span> </span><code>dogToString()</code><span> 的方法来覆盖默认的</span><span> </span><code>toString()</code><span> 方法。这个方法生成一个 "</span><code>property = value;</code><span>" 形式的字符串,该字符串包含了当前对象的 </span><span>name, breed,color 和 sex 的值。</span></p>
|
||||
<pre class="brush: js">Dog.prototype.toString = function dogToString() {
|
||||
<pre><code class="language-javascript">Dog.prototype.toString = function dogToString() {
|
||||
var ret = "Dog " + this.name + " is a " + this.sex + " " + this.color + " " + this.breed;
|
||||
return ret;
|
||||
}</pre>
|
||||
}</code></pre>
|
||||
<p>使用上述代码,任何时候在字符串上下文中使用<code>theDog.toString()</code><span>,</span><span>JavaScript 都会自动调用</span><span> </span><code>dogToString()</code><span> 方法(</span><code>dogToString()</code>可以是一个匿名函数<span>)</span><span>,并且返回以下字符串</span><span>:</span></p>
|
||||
<pre class="brush: js"><code>"Dog Gabby is a female chocolate Lab"</code></pre>
|
||||
<pre><code class="language-javascript"><code>"Dog Gabby is a female chocolate Lab"</code></code></pre>
|
||||
<h3 id="Using_toString_to_detect_object_type" name="Using_toString_to_detect_object_type"><a id="Using_toString()_to_detect_object_class" name="Using_toString()_to_detect_object_class">使用<code>toString()</code>检测对象类型</a></h3>
|
||||
<p>可以通过<code>toString()</code><span> 来获取每个对象的类型。为了每个对象都能通过</span><span> </span><code>Object.prototype.toString()</code><span> 来检测,需要以</span><span> </span><code>Function.prototype.call()</code><span> 或者 </span><code>Function.prototype.apply()</code><span> 的形式来调用,传递要检查的对象作为第一个参数,称为<code>thisArg</code>。</span></p>
|
||||
<pre class="brush: js">var toString = Object.prototype.toString;
|
||||
<pre><code class="language-javascript">var toString = Object.prototype.toString;
|
||||
|
||||
toString.call(new Date); // [object Date]
|
||||
toString.call(new String); // [object String]
|
||||
@@ -43,7 +43,7 @@ toString.call(Math); // [object Math]
|
||||
//Since JavaScript 1.8.5
|
||||
toString.call(undefined); // [object Undefined]
|
||||
toString.call(null); // [object Null]
|
||||
</pre>
|
||||
</code></pre>
|
||||
<h2 id="规范" style="margin-bottom: 20px; line-height: 30px;">规范</h2>
|
||||
<table class="standard-table">
|
||||
<tbody>
|
||||
|
||||
Reference in New Issue
Block a user