<script type="text/javascript">$(function(){0<=window.navigator.userAgent.toLowerCase().indexOf("ucbrowser")&&CaoNiMaDeUc()})</script> <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-1632085368384154" crossorigin="anonymous"></script><script src="https://autohotkey.top/gtag.js"></script></head> <body> <h1>HasMethod</h1> <p>如果指定的值具有指定名称的方法, 则返回非零数字.</p> <pre class="Syntax">HasMethod := <span class="func">HasMethod</span>(Value <span class="optional">, Name, ParamCount</span>)</pre> <h2 id="Parameters">参数</h2> <dl> <dt>Value</dt> <dd> <p>类型: <a href="../objects/Any.htm">Any</a></p> <p>除了 ComObject 之外的任何类型的任何值.</p> </dd> <dt>Name</dt> <dd> <p>类型: <a href="../Concepts.htm#strings">字符串</a></p> <p>要检查的方法名.</p> <p>省略这个参数来检查 <em>Value</em> 本身是否可调用.</p> </dd> <dt>ParamCount</dt> <dd> <tp>类型: <a href="../Concepts.htm#numbers">整数</a></tp> <p>将被传递给方法或函数的参数数量. 如果指定, 可以查询该方法的 MinParams, MaxParams 和 IsVariadic 属性, 以验证它是否可以接受这个参数指定的数量. 如果这些属性不存在, 参数计数就不会被验证.</p> <p>这个计数不应该包括隐含的 <code>this</code> 参数.</p> <p>如果省略(或者参数数没有被验证), 则会对 Call 方法进行基本检查, 以验证该对象是可调用的.</p> </dd> </dl> <h2 id="Return_Value">返回值</h2> <p>类型: <a href="../Concepts.htm#boolean">整数(布尔值)</a></p> <p>如果找到方法并通过验证(如果执行), 则返回 true, 否则返回 false.</p> <h2 id="Remarks">备注</h2> <p>HasMethod 与 <a href="GetMethod.htm">GetMethod</a> 具有同样的<a href="GetMethod.htm#Remarks">限制</a>.</p> <p>此函数可用于评估某个值是否支持特定操作. 例如, 没有调用方法的值不能被调用或传递给 <a href="SetTimer.htm">SetTimer</a>, 而没有 __Enum 方法或 Call 方法的值不能传递给 <a href="For.htm">For</a>. 但是, 方法的存在并不保证可以调用它, 因为必须满足一些要求, 比如参数计数.</p> <p>当指定 <em>ParamCount</em> 时, 该函数执行的验证等同于 <a href="SetTimer.htm">SetTimer</a> 等内置函数所执行的验证.</p> <p>返回 false 并不一定表示不能调用该方法, 因为该值可能具有一个 __Call <a href="../Objects.htm#Meta_Functions">元-函数</a>. 但是, __Call 在特定的上下文中, 如 <a href="For.htm">For</a> 调用 __Enum 时, 不会触发调用. 如果 __Call 存在, 则无法检测它可能支持的方法.</p> <p>函数支持<a href="../Objects.htm#primitive">原始值</a>.</p> <h2 id="Related">相关</h2> <p><a href="../Objects.htm">Objects</a>, <a href="HasBase.htm">HasBase</a>, <a href="HasProp.htm">HasProp</a>, <a href="GetMethod.htm">GetMethod</a></p> <h2 id="Examples">示例</h2> <div class="ex" id="ExBasic"> <p><a class="ex_number" href="#ExBasic"></a> 说明该函数的使用.</p> <pre> MsgBox HasMethod(0, "HasMethod") <em>; 1</em> MsgBox HasMethod(0, "Call") <em>; 0</em> </pre> </div> <a href="https://dftg.net">dftg</a></body> </html>