⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 object.html

📁 javascript 1.5规范
💻 HTML
📖 第 1 页 / 共 4 页
字号:
  </TR></TABLE><P></zparagraph></FONT><P><BR><A NAME="1193526"> </A><A NAME="Description"> </A><FONT FACE="Arial, Helvetica, sans-serif" SIZE="-1"><B><zrefheader>Description</zrefheader></B></FONT><BR><A NAME="1193527"> </A><FONT FACE="Arial, Helvetica, sans-serif" SIZE="2"><zparagraph>The JavaScript debugger has functionality similar to that provided by this method, as well as other debugging options. For information on the debugger, see <I><A HREF="http://developer.netscape.com/docs/manuals/jsdebug/index.htm">Getting Started with Netscape JavaScript Debugger</A></I>.</zparagraph></FONT><P><A NAME="1200644"> </A><FONT FACE="Arial, Helvetica, sans-serif" SIZE="2"><zparagraph>By default, this method is inherited by every object descended from <FONT FACE="courier, couriernew, monospaced size">Object</FONT>.</zparagraph></FONT><P><BR><A NAME="1193533"> </A><A NAME="Example"> </A><FONT FACE="Arial, Helvetica, sans-serif" SIZE="-1"><B><zrefheader>Example</zrefheader></B></FONT><BR><A NAME="1193537"> </A><FONT FACE="Arial, Helvetica, sans-serif" SIZE="2"><zparagraph>See <A HREF="object.html#1193628"  >watch</A>.</zparagraph></FONT><P><BR><P><A NAME="1193540"> </A><A NAME="valueOf"> </A><FONT FACE="Arial, Helvetica, sans-serif" SIZE="4"><B><zrefhead2>valueOf</zrefhead2></B></FONT><P><A NAME="1193553"> </A><FONT FACE="Arial, Helvetica, sans-serif" SIZE="2"><zparagraph>Returns the primitive value of the specified object.<BR><P><TABLE WIDTH="90%" BORDER="1" CELLPADDING="5" CELLSPACING="0">  <CAPTION></CAPTION><P><FONT FACE=""><B></B></FONT><BR><BR>  <TR>    <TD VALIGN=TOP><P><A NAME="1193543"> </A><FONT FACE="Arial, Helvetica, sans-serif" SIZE="-1"><ztabletext><I>Method of</I></ztabletext></FONT>&nbsp;</TD>    <TD VALIGN=TOP><P><A NAME="1193548"> </A><FONT FACE="Arial, Helvetica, sans-serif" SIZE="-1"><ztabletext><A HREF="object.html#1193136"  >Object</A></ztabletext></FONT>&nbsp;</TD>  </TR>  <TR>    <TD VALIGN=TOP><P><A NAME="1193550"> </A><FONT FACE="Arial, Helvetica, sans-serif" SIZE="-1"><ztabletext><I>Implemented in</I></ztabletext></FONT>&nbsp;</TD>    <TD VALIGN=TOP><P><A NAME="1193552"> </A><FONT FACE="Arial, Helvetica, sans-serif" SIZE="-1"><ztabletext>JavaScript 1.1</ztabletext></FONT>&nbsp;</TD>  </TR>  <TR>    <TD VALIGN=TOP><P><A NAME="1196506"> </A><FONT FACE="Arial, Helvetica, sans-serif" SIZE="-1"><ztabletext><I>ECMA version</I></ztabletext></FONT>&nbsp;</TD>    <TD VALIGN=TOP><P><A NAME="1196508"> </A><FONT FACE="Arial, Helvetica, sans-serif" SIZE="-1"><ztabletext>ECMA-262</ztabletext></FONT>&nbsp;</TD>  </TR></TABLE><P></zparagraph></FONT><P><BR><A NAME="1193554"> </A><A NAME="Syntax"> </A><FONT FACE="Arial, Helvetica, sans-serif" SIZE="-1"><B><zrefheader>Syntax</zrefheader></B></FONT><BR><A NAME="1193555"></A><FONT FACE="courier, couriernew, monospaced size" SIZE="-1"><zcodeline>valueOf()</zcodeline></FONT><P><BR><A NAME="1193556"> </A><A NAME="Parameters"> </A><FONT FACE="Arial, Helvetica, sans-serif" SIZE="-1"><B><zrefheader>Parameters</zrefheader></B></FONT><BR><A NAME="1193557"> </A><FONT FACE="Arial, Helvetica, sans-serif" SIZE="2"><zparagraph>None</zparagraph></FONT><P><BR><A NAME="1200569"> </A><A NAME="Description"> </A><FONT FACE="Arial, Helvetica, sans-serif" SIZE="-1"><B><zrefheader>Description</zrefheader></B></FONT><BR><A NAME="1204828"> </A><FONT FACE="Arial, Helvetica, sans-serif" SIZE="2"><zparagraph>JavaScript calls the <FONT FACE="courier, couriernew, monospaced size">valueOf</FONT> method to convert an object to a primitive value. You rarely need to invoke the <FONT FACE="courier, couriernew, monospaced size">valueOf</FONT> method yourself; JavaScript automatically invokes it when encountering an object where a primitive value is expected.</zparagraph></FONT><P><A NAME="1198170"> </A><FONT FACE="Arial, Helvetica, sans-serif" SIZE="2"><zparagraph>By default, the <FONT FACE="courier, couriernew, monospaced size">valueOf</FONT> method is inherited by every object descended from <FONT FACE="courier, couriernew, monospaced size">Object</FONT>. Every built-in core object overrides this method to return an appropriate value. If an object has no primitive value, <FONT FACE="courier, couriernew, monospaced size">valueOf</FONT> returns the object itself, which is displayed as:</zparagraph></FONT><P><A NAME="1198203"></A><FONT FACE="courier, couriernew, monospaced size" SIZE="-1"><zcodeline>[object Object]</zcodeline></FONT><P><A NAME="1198132"> </A><FONT FACE="Arial, Helvetica, sans-serif" SIZE="2"><zparagraph>You can use <FONT FACE="courier, couriernew, monospaced size">valueOf</FONT> within your own code to convert a built-in object into a primitive value. When you create a custom object, you can override <A HREF="object.html#1193540"  >Object.valueOf</A> to call a custom method instead of the default <FONT FACE="courier, couriernew, monospaced size">Object</FONT> method.</zparagraph></FONT><P><P><A NAME="1193605"> </A><FONT FACE="Arial, Helvetica, sans-serif" SIZE="-1"><B><zheadrunin>Overriding valueOf for custom objects. </zheadrunin></B></FONT><A NAME="1198049"> </A><FONT FACE="Arial, Helvetica, sans-serif" SIZE="2"><zparagraph>You can create a function to be called in place of the default <FONT FACE="courier, couriernew, monospaced size">valueOf</FONT> method. Your function must take no arguments.</zparagraph></FONT><P><A NAME="1193606"> </A><FONT FACE="Arial, Helvetica, sans-serif" SIZE="2"><zparagraph>Suppose you have an object type <FONT FACE="courier, couriernew, monospaced size">myNumberType</FONT> and you want to create a <FONT FACE="courier, couriernew, monospaced size">valueOf</FONT> method for it. The following code assigns a user-defined function to the object's <FONT FACE="courier, couriernew, monospaced size">valueOf</FONT> method:</zparagraph></FONT><P><A NAME="1193607"></A><FONT FACE="courier, couriernew, monospaced size" SIZE="-1"><zcodeline>myNumberType.prototype.valueOf = new Function(functionText)</zcodeline></FONT><P><A NAME="1193608"> </A><FONT FACE="Arial, Helvetica, sans-serif" SIZE="2"><zparagraph>With the preceding code in place, any time an object of type <FONT FACE="courier, couriernew, monospaced size">myNumberType</FONT> is used in a context where it is to be represented as a primitive value, JavaScript automatically calls the function defined in the preceding code.</zparagraph></FONT><P><A NAME="1193609"> </A><FONT FACE="Arial, Helvetica, sans-serif" SIZE="2"><zparagraph>An object's <FONT FACE="courier, couriernew, monospaced size">valueOf</FONT> method is usually invoked by JavaScript, but you can invoke it yourself as follows:</zparagraph></FONT><P><A NAME="1193610"></A><FONT FACE="courier, couriernew, monospaced size" SIZE="-1"><zcodeline>myNumber.valueOf()</zcodeline></FONT><P><A NAME="1193611"> </A><FONT FACE="Arial, Helvetica, sans-serif" SIZE="-1"><B><znote>Note</znote></B></FONT><A NAME="1193615"> </A><FONT FACE="Arial, Helvetica, sans-serif" SIZE="2"><zparagraph>Objects in string contexts convert via the <A HREF="object.html#1193350"  >toString</A> method, which is different from <FONT FACE="courier, couriernew, monospaced size">String</FONT> objects converting to string primitives using <FONT FACE="courier, couriernew, monospaced size">valueOf</FONT>. All string objects have a string conversion, if only <FONT FACE="courier, couriernew, monospaced size">"[object </FONT><FONT FACE="courier, couriernew, monospaced size"><I>type</I></font><FONT FACE="courier, couriernew, monospaced size">]"</FONT>. But many objects do not convert to number, boolean, or function.</zparagraph></FONT><P><BR><A NAME="1193619"> </A><A NAME="See also"> </A><FONT FACE="Arial, Helvetica, sans-serif" SIZE="-1"><B><zrefheader>See also</zrefheader></B></FONT><BR><A NAME="1193626"> </A><FONT FACE="Arial, Helvetica, sans-serif" SIZE="2"><zparagraph><A HREF="toplev.html#1064173"  >parseInt</A>, <A HREF="object.html#1193350"  >Object.toString</A></zparagraph></FONT><P><BR><P><A NAME="1193628"> </A><A NAME="watch"> </A><FONT FACE="Arial, Helvetica, sans-serif" SIZE="4"><B><zrefhead2>watch</zrefhead2></B></FONT><P><A NAME="1193630"> </A><FONT FACE="Arial, Helvetica, sans-serif" SIZE="2"><zparagraph>Watches for a property to be assigned a value and runs a function when that occurs.<BR><P><TABLE WIDTH="90%" BORDER="1" CELLPADDING="5" CELLSPACING="0">  <CAPTION></CAPTION><P><FONT FACE=""><B></B></FONT><BR><BR>  <TR>    <TD VALIGN=TOP><P><A NAME="1193633"> </A><FONT FACE="Arial, Helvetica, sans-serif" SIZE="-1"><ztabletext><I>Method of</I></ztabletext></FONT>&nbsp;</TD>    <TD VALIGN=TOP><P><A NAME="1193638"> </A><FONT FACE="Arial, Helvetica, sans-serif" SIZE="-1"><ztabletext><A HREF="object.html#1193136"  >Object</A></ztabletext></FONT>&nbsp;</TD>  </TR>  <TR>    <TD VALIGN=TOP><P><A NAME="1193640"> </A><FONT FACE="Arial, Helvetica, sans-serif" SIZE="-1"><ztabletext><I>Implemented in</I></ztabletext></FONT>&nbsp;</TD>    <TD VALIGN=TOP><P><A NAME="1193642"> </A><FONT FACE="Arial, Helvetica, sans-serif" SIZE="-1"><ztabletext>JavaScript 1.2, NES 3.0</ztabletext></FONT>&nbsp;</TD>  </TR></TABLE><P></zparagraph></FONT><P><BR><A NAME="1193643"> </A><A NAME="Syntax"> </A><FONT FACE="Arial, Helvetica, sans-serif" SIZE="-1"><B><zrefheader>Syntax</zrefheader></B></FONT><BR><A NAME="1193644"></A><FONT FACE="courier, couriernew, monospaced size" SIZE="-1"><zcodeline>watch(<I>prop</I>, <I>handler</I>)</zcodeline></FONT><P><BR><A NAME="1193645"> </A><A NAME="Parameters"> </A><FONT FACE="Arial, Helvetica, sans-serif" SIZE="-1"><B><zrefheader>Parameters</zrefheader></B></FONT><BR><A NAME="1193655"> </A><FONT FACE="Arial, Helvetica, sans-serif" SIZE="2"><zparagraph><FONT FACE="courier, couriernew, monospaced size"><BR><P><TABLE WIDTH="90%" BORDER="1" CELLPADDING="5" CELLSPACING="0">  <CAPTION></CAPTION><P><FONT FACE=""><B></B></FONT><BR><BR>  <TR>    <TD VALIGN=TOP><P><A NAME="1193648"> </A><FONT FACE="Arial, Helvetica, sans-serif" SIZE="-1"><ztabletext><FONT FACE="courier, couriernew, monospaced size">prop</FONT></ztabletext></FONT>&nbsp;</TD>    <TD VALIGN=TOP><P><A NAME="1193650"> </A><FONT FACE="Arial, Helvetica, sans-serif" SIZE="-1"><ztabletext>The name of a property of the object.</ztabletext></FONT>&nbsp;</TD>  </TR>  <TR>    <TD VALIGN=TOP><P><A NAME="1193652"> </A><FONT FACE="Arial, Helvetica, sans-serif" SIZE="-1"><ztabletext><FONT FACE="courier, couriernew, monospaced size">handler</FONT></ztabletext></FONT>&nbsp;</TD>    <TD VALIGN=TOP><P><A NAME="1193654"> </A><FONT FACE="Arial, Helvetica, sans-serif" SIZE="-1"><ztabletext>A function to call.</ztabletext></FONT>&nbsp;</TD>  </TR></TABLE><P></FONT></zparagraph></FONT><P><BR><A NAME="1193656"> </A><A NAME="Description"> </A><FONT FACE="Arial, Helvetica, sans-serif" SIZE="-1"><B><zrefheader>Description</zrefheader></B></FONT><BR><A NAME="1193657"> </A><FONT FACE="Arial, Helvetica, sans-serif" SIZE="2"><zparagraph>Watches for assignment to a property named <FONT FACE="courier, couriernew, monospaced size">prop</FONT> in this object, calling <FONT FACE="courier, couriernew, monospaced size">handler(prop, oldval, newval)</FONT> whenever <FONT FACE="courier, couriernew, monospaced size">prop</FONT> is set and storing the return value in that property. A watchpoint can filter (or nullify) the value assignment, by returning a modified <FONT FACE="courier, couriernew, monospaced size">newval</FONT> (or <FONT FACE="courier, couriernew, monospaced size">oldval</FONT>).</zparagraph></FONT><P><A NAME="1193658"> </A><FONT FACE="Arial, Helvetica, sans-serif" SIZE="2"><zparagraph>If you delete a property for which a watchpoint has been set, that watchpoint does not disappear. If you later recreate the property, the watchpoint is still in effect. </zparagraph></FONT><P><A NAME="1200696"> </A><FONT FACE="Arial, Helvetica, sans-serif" SIZE="2"><zparagraph>To remove a watchpoint, use the <A HREF="object.html#1193499"  >unwatch</A> method. By default, the <FONT FACE="courier, couriernew, monospaced size">watch</FONT> method is inherited by every object descended from <FONT FACE="courier, couriernew, monospaced size">Object</FONT>.</zparagraph></FONT><P><A NAME="1193663"> </A><FONT FACE="Arial, Helvetica, sans-serif" SIZE="2"><zparagraph>The JavaScript debugger has functionality similar to that provided by this method, as well as other debugging options. For information on the debugger, see <I><A HREF="http://developer.netscape.com/docs/manuals/jsdebug/index.htm">Getting Started with Netscape JavaScript Debugger</A></I>.</zparagraph></FONT><P><BR><A NAME="1193669"> </A><A NAME="Example"> </A><FONT FACE="Arial, Helvetica, sans-serif" SIZE="-1"><B><zrefheader>Example</zrefheader></B></FONT><BR><A NAME="1193670"></A><FONT FACE="courier, couriernew, monospaced size" SIZE="-1"><zcodeline>&lt;script language="JavaScript1.2"&gt;<br>o = {p:1}<br>o.watch("p",<br>&nbsp;&nbsp;&nbsp;function (id,oldval,newval) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;document.writeln("o." + id + " changed from " <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+ oldval + " to " + newval)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return newval<br>&nbsp;&nbsp;&nbsp;})</zcodeline></FONT><P><A NAME="1193671"></A><FONT FACE="courier, couriernew, monospaced size" SIZE="-1"><zcodeline>o.p = 2<br>o.p = 3<br>delete o.p<br>o.p = 4</zcodeline></FONT><P><A NAME="1193672"></A><FONT FACE="courier, couriernew, monospaced size" SIZE="-1"><zcodeline>o.unwatch('p')<br>o.p = 5</zcodeline></FONT><P><A NAME="1193673"></A><FONT FACE="courier, couriernew, monospaced size" SIZE="-1"><zcodeline>&lt;/script&gt;</zcodeline></FONT><P><A NAME="1193674"> </A><FONT FACE="Arial, Helvetica, sans-serif" SIZE="2"><zparagraph>This script displays the following:</zparagraph></FONT><P><A NAME="1193675"> </A><FONT FACE="Arial, Helvetica, sans-serif" SIZE="2"><zparagraph>o.p changed from 1 to 2<br>o.p changed from 2 to 3<br>o.p changed from 3 to 4</zparagraph></FONT><P>   </BLOCKQUOTE></BOOKCONTENT><FOOTERCONTENT>   <BLOCKQUOTE> <BR>            <b><a href="number.html"><FONT FACE="Arial, Helvetica, sans-serif" SIZE="2" COLOR="#993300">Previous</a></FONT>&nbsp;&nbsp;&nbsp;&nbsp;</b><a href="contents.html"><b><FONT FACE="Arial, Helvetica, sans-serif" SIZE="2" COLOR="#993300">Contents</a></FONT></b>&nbsp;&nbsp;&nbsp;&nbsp;<a href="ix.html"><b><FONT FACE="Arial, Helvetica, sans-serif" SIZE="2" COLOR="#993300">Index</a></FONT></b>&nbsp;&nbsp;&nbsp;&nbsp;<a href="packages.html"><b><FONT FACE="Arial, Helvetica, sans-serif" SIZE="2" COLOR="#993300">Next</a></FONT></b>&nbsp;&nbsp;&nbsp;&nbsp;        <HR NOSHADE SIZE="1">   <font face="Arial, Helvetica, sans-serif" SIZE="1">Copyright &#169; 2000 <a href="http://www.netscape.com">Netscape Communications Corp.</a> All rights reserved.</FONT>   </BLOCKQUOTE>   <FONT FACE="Arial, Helvetica, sans-serif" SIZE="1">   <P ALIGN="RIGHT">Last Updated <B>September 28, 2000</B>   </FONT>   <BR></FOOTERCONTENT></MAINCONTENT></BODY></HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -