2018_11_02_04.html 24 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. <!DOCTYPE html>
  2. <html lang="en-US">
  3. <head>
  4. <meta charset="utf-8">
  5. <meta name="viewport" content="width=device-width,initial-scale=1">
  6. <title>instanceof运算符 | 看白鹿的博客</title>
  7. <meta name="description" content="只有敢于尝试,才能品味人生.">
  8. <link rel="icon" href="/logo.png">
  9. <link rel="preload" href="/assets/css/0.styles.72bab9ec.css" as="style"><link rel="preload" href="/assets/js/app.44a82e39.js" as="script"><link rel="preload" href="/assets/js/3.8ae7454d.js" as="script"><link rel="preload" href="/assets/js/90.dab61711.js" as="script"><link rel="prefetch" href="/assets/js/10.dee33bc4.js"><link rel="prefetch" href="/assets/js/100.7c8a9a23.js"><link rel="prefetch" href="/assets/js/101.05f5e1eb.js"><link rel="prefetch" href="/assets/js/102.e035a30f.js"><link rel="prefetch" href="/assets/js/103.f5588224.js"><link rel="prefetch" href="/assets/js/104.3cd6cf9b.js"><link rel="prefetch" href="/assets/js/105.9ae72903.js"><link rel="prefetch" href="/assets/js/106.bb7815a1.js"><link rel="prefetch" href="/assets/js/107.048043e1.js"><link rel="prefetch" href="/assets/js/108.2f879181.js"><link rel="prefetch" href="/assets/js/109.6d921894.js"><link rel="prefetch" href="/assets/js/11.8fbf6040.js"><link rel="prefetch" href="/assets/js/110.f3be3340.js"><link rel="prefetch" href="/assets/js/111.af80c446.js"><link rel="prefetch" href="/assets/js/112.c799df40.js"><link rel="prefetch" href="/assets/js/113.c27448ef.js"><link rel="prefetch" href="/assets/js/114.75e95324.js"><link rel="prefetch" href="/assets/js/115.6c8ff112.js"><link rel="prefetch" href="/assets/js/116.e934c00e.js"><link rel="prefetch" href="/assets/js/117.e8137ce8.js"><link rel="prefetch" href="/assets/js/118.b2c3b110.js"><link rel="prefetch" href="/assets/js/119.c64cdae0.js"><link rel="prefetch" href="/assets/js/12.6363f40e.js"><link rel="prefetch" href="/assets/js/120.de5163ec.js"><link rel="prefetch" href="/assets/js/121.0c4bd6d5.js"><link rel="prefetch" href="/assets/js/122.126c75a8.js"><link rel="prefetch" href="/assets/js/123.3f4492ff.js"><link rel="prefetch" href="/assets/js/13.82c54c81.js"><link rel="prefetch" href="/assets/js/14.0a6c5c0e.js"><link rel="prefetch" href="/assets/js/15.49935a00.js"><link rel="prefetch" href="/assets/js/16.f46aca5a.js"><link rel="prefetch" href="/assets/js/17.8c2dd42a.js"><link rel="prefetch" href="/assets/js/18.a2b1092e.js"><link rel="prefetch" href="/assets/js/19.1ded9624.js"><link rel="prefetch" href="/assets/js/20.1a95bd05.js"><link rel="prefetch" href="/assets/js/21.3828a440.js"><link rel="prefetch" href="/assets/js/22.c94e1951.js"><link rel="prefetch" href="/assets/js/23.c1c9836a.js"><link rel="prefetch" href="/assets/js/24.7defc8bd.js"><link rel="prefetch" href="/assets/js/25.b66c4544.js"><link rel="prefetch" href="/assets/js/26.cc7753fb.js"><link rel="prefetch" href="/assets/js/27.79806d2f.js"><link rel="prefetch" href="/assets/js/28.3a893535.js"><link rel="prefetch" href="/assets/js/29.19cf894b.js"><link rel="prefetch" href="/assets/js/30.6fda243a.js"><link rel="prefetch" href="/assets/js/31.e1d3c8bb.js"><link rel="prefetch" href="/assets/js/32.225aec53.js"><link rel="prefetch" href="/assets/js/33.1a9f93d4.js"><link rel="prefetch" href="/assets/js/34.1461452d.js"><link rel="prefetch" href="/assets/js/35.97721728.js"><link rel="prefetch" href="/assets/js/36.93d251dc.js"><link rel="prefetch" href="/assets/js/37.2c59c75b.js"><link rel="prefetch" href="/assets/js/38.80d4d542.js"><link rel="prefetch" href="/assets/js/39.ab08c2b7.js"><link rel="prefetch" href="/assets/js/4.820ed4fb.js"><link rel="prefetch" href="/assets/js/40.0d874970.js"><link rel="prefetch" href="/assets/js/41.2c30a136.js"><link rel="prefetch" href="/assets/js/42.bb23c5e0.js"><link rel="prefetch" href="/assets/js/43.332b616a.js"><link rel="prefetch" href="/assets/js/44.475084bc.js"><link rel="prefetch" href="/assets/js/45.99acbefe.js"><link rel="prefetch" href="/assets/js/46.f8fbfa00.js"><link rel="prefetch" href="/assets/js/47.72d13e8f.js"><link rel="prefetch" href="/assets/js/48.37873401.js"><link rel="prefetch" href="/assets/js/49.34520dc5.js"><link rel="prefetch" href="/assets/js/5.380bfded.js"><link rel="prefetch" href="/assets/js/50.b29ef5c8.js"><link rel="prefetch" href="/assets/js/51.225f616f.js"><link rel="prefetch" href="/assets/js/52.cfe14ed9.js"><link rel="prefetch" href="/assets/js/53.4e2ec73a.js"><link rel="prefetch" href="/assets/js/54.8ff2afa0.js"><link rel="prefetch" href="/assets/js/55.358770f5.js"><link rel="prefetch" href="/assets/js/56.d755c0c2.js"><link rel="prefetch" href="/assets/js/57.985fc3df.js"><link rel="prefetch" href="/assets/js/58.8d2845a1.js"><link rel="prefetch" href="/assets/js/59.8d34ecec.js"><link rel="prefetch" href="/assets/js/6.eb12f52b.js"><link rel="prefetch" href="/assets/js/60.d5bd9a2b.js"><link rel="prefetch" href="/assets/js/61.dc32bd44.js"><link rel="prefetch" href="/assets/js/62.552676dd.js"><link rel="prefetch" href="/assets/js/63.b8326d03.js"><link rel="prefetch" href="/assets/js/64.fd7d8d47.js"><link rel="prefetch" href="/assets/js/65.11e3cad8.js"><link rel="prefetch" href="/assets/js/66.a4470ce0.js"><link rel="prefetch" href="/assets/js/67.cb6c8810.js"><link rel="prefetch" href="/assets/js/68.d73daf51.js"><link rel="prefetch" href="/assets/js/69.41b1f367.js"><link rel="prefetch" href="/assets/js/7.956f94fd.js"><link rel="prefetch" href="/assets/js/70.5a9d525e.js"><link rel="prefetch" href="/assets/js/71.61d2af56.js"><link rel="prefetch" href="/assets/js/72.f41a6640.js"><link rel="prefetch" href="/assets/js/73.8545072d.js"><link rel="prefetch" href="/assets/js/74.b337a1c4.js"><link rel="prefetch" href="/assets/js/75.3ff729cf.js"><link rel="prefetch" href="/assets/js/76.06c88518.js"><link rel="prefetch" href="/assets/js/77.af07aba6.js"><link rel="prefetch" href="/assets/js/78.e1d6fcf7.js"><link rel="prefetch" href="/assets/js/79.803707d9.js"><link rel="prefetch" href="/assets/js/8.f0965cfc.js"><link rel="prefetch" href="/assets/js/80.bba0c262.js"><link rel="prefetch" href="/assets/js/81.4f9053d0.js"><link rel="prefetch" href="/assets/js/82.3de526cd.js"><link rel="prefetch" href="/assets/js/83.04036093.js"><link rel="prefetch" href="/assets/js/84.4e2cf172.js"><link rel="prefetch" href="/assets/js/85.f3376af6.js"><link rel="prefetch" href="/assets/js/86.278d3f52.js"><link rel="prefetch" href="/assets/js/87.17859abd.js"><link rel="prefetch" href="/assets/js/88.7fb10d8d.js"><link rel="prefetch" href="/assets/js/89.6bcd0a7e.js"><link rel="prefetch" href="/assets/js/9.f39c8e32.js"><link rel="prefetch" href="/assets/js/91.204e0d89.js"><link rel="prefetch" href="/assets/js/92.6fad0cca.js"><link rel="prefetch" href="/assets/js/93.765d2445.js"><link rel="prefetch" href="/assets/js/94.ecd49b4c.js"><link rel="prefetch" href="/assets/js/95.2d7fd0f1.js"><link rel="prefetch" href="/assets/js/96.5265e8c8.js"><link rel="prefetch" href="/assets/js/97.18d4ec68.js"><link rel="prefetch" href="/assets/js/98.9bc7b7b4.js"><link rel="prefetch" href="/assets/js/99.b2750206.js"><link rel="prefetch" href="/assets/js/vendors~docsearch.431cfe91.js">
  10. <link rel="stylesheet" href="/assets/css/0.styles.72bab9ec.css">
  11. </head>
  12. <body>
  13. <div id="app" data-server-rendered="true"><div class="theme-container"><header class="navbar"><div class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/" class="home-link router-link-active"><!----> <span class="site-name">看白鹿的博客</span></a> <div class="links"><form id="search-form" role="search" class="algolia-search-wrapper search-box"><input id="algolia-search-input" class="search-query"></form> <nav class="nav-links can-hide"><div class="nav-item"><div class="dropdown-wrapper"><button type="button" aria-label="前端" class="dropdown-title"><span class="title">前端</span> <span class="arrow right"></span></button> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/CSS/" class="nav-link">CSS</a></li><li class="dropdown-item"><!----> <a href="/FLUTTER/" class="nav-link">flutter</a></li><li class="dropdown-item"><!----> <a href="/GIT/" class="nav-link">GIT</a></li><li class="dropdown-item"><!----> <a href="/JavaScript/" class="nav-link router-link-active">JavaScript</a></li><li class="dropdown-item"><!----> <a href="/REACT/" class="nav-link">react</a></li><li class="dropdown-item"><!----> <a href="/VUE/" class="nav-link">vue</a></li></ul></div></div><div class="nav-item"><div class="dropdown-wrapper"><button type="button" aria-label="后台" class="dropdown-title"><span class="title">后台</span> <span class="arrow right"></span></button> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/NODE/" class="nav-link">node</a></li><li class="dropdown-item"><!----> <a href="/UBUNTU/" class="nav-link">ubuntu</a></li><li class="dropdown-item"><!----> <a href="/ffmpeg/" class="nav-link">ffmpeg</a></li></ul></div></div><div class="nav-item"><div class="dropdown-wrapper"><button type="button" aria-label="其他" class="dropdown-title"><span class="title">其他</span> <span class="arrow right"></span></button> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/IDE/" class="nav-link">IDE</a></li><li class="dropdown-item"><!----> <a href="/mac/" class="nav-link">MACBOOK PRO</a></li><li class="dropdown-item"><!----> <a href="/About/WHY.html" class="nav-link">待了解</a></li><li class="dropdown-item"><!----> <a href="/INTERVIEW/" class="nav-link">面试</a></li></ul></div></div><div class="nav-item"><a href="https://github.com/Johnhong9527" target="_blank" rel="noopener noreferrer" class="nav-link external">
  14. GitHub
  15. <svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></div> <!----></nav></div></header> <div class="sidebar-mask"></div> <aside class="sidebar"><nav class="nav-links"><div class="nav-item"><div class="dropdown-wrapper"><button type="button" aria-label="前端" class="dropdown-title"><span class="title">前端</span> <span class="arrow right"></span></button> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/CSS/" class="nav-link">CSS</a></li><li class="dropdown-item"><!----> <a href="/FLUTTER/" class="nav-link">flutter</a></li><li class="dropdown-item"><!----> <a href="/GIT/" class="nav-link">GIT</a></li><li class="dropdown-item"><!----> <a href="/JavaScript/" class="nav-link router-link-active">JavaScript</a></li><li class="dropdown-item"><!----> <a href="/REACT/" class="nav-link">react</a></li><li class="dropdown-item"><!----> <a href="/VUE/" class="nav-link">vue</a></li></ul></div></div><div class="nav-item"><div class="dropdown-wrapper"><button type="button" aria-label="后台" class="dropdown-title"><span class="title">后台</span> <span class="arrow right"></span></button> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/NODE/" class="nav-link">node</a></li><li class="dropdown-item"><!----> <a href="/UBUNTU/" class="nav-link">ubuntu</a></li><li class="dropdown-item"><!----> <a href="/ffmpeg/" class="nav-link">ffmpeg</a></li></ul></div></div><div class="nav-item"><div class="dropdown-wrapper"><button type="button" aria-label="其他" class="dropdown-title"><span class="title">其他</span> <span class="arrow right"></span></button> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/IDE/" class="nav-link">IDE</a></li><li class="dropdown-item"><!----> <a href="/mac/" class="nav-link">MACBOOK PRO</a></li><li class="dropdown-item"><!----> <a href="/About/WHY.html" class="nav-link">待了解</a></li><li class="dropdown-item"><!----> <a href="/INTERVIEW/" class="nav-link">面试</a></li></ul></div></div><div class="nav-item"><a href="https://github.com/Johnhong9527" target="_blank" rel="noopener noreferrer" class="nav-link external">
  16. GitHub
  17. <svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></div> <!----></nav> <ul class="sidebar-links"><li><a href="/JavaScript/" class="sidebar-link">JS 目录</a></li><li><a href="/JavaScript/2018_10_29_02.html" class="sidebar-link">代码收集</a></li><li><a href="/JavaScript/2018_10_28_01.html" class="sidebar-link">动态替换图片</a></li><li><a href="/JavaScript/2018_11_02_01.html" class="sidebar-link">战舰游戏</a></li><li><a href="/JavaScript/2018_11_02_02.html" class="sidebar-link">原理</a></li><li><a href="/JavaScript/2018_11_02_03.html" class="sidebar-link">匿名函数和闭包</a></li><li><a href="/JavaScript/2018_11_02_04.html" class="active sidebar-link">instanceof运算符</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header"><a href="/JavaScript/2018_11_02_04.html#语法" class="sidebar-link">语法</a></li><li class="sidebar-sub-header"><a href="/JavaScript/2018_11_02_04.html#描述" class="sidebar-link">描述</a></li><li class="sidebar-sub-header"><a href="/JavaScript/2018_11_02_04.html#例子" class="sidebar-link">例子</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header"><a href="/JavaScript/2018_11_02_04.html#instanceof运算符在数组中的使用" class="sidebar-link">instanceof运算符在数组中的使用</a></li></ul></li></ul></li><li><a href="/JavaScript/2018_11_02_05.html" class="sidebar-link">JavaScript 事件流</a></li></ul> </aside> <main class="page"> <div class="theme-default-content content__default"><h1 id="instanceof运算符"><a href="#instanceof运算符" class="header-anchor">#</a> instanceof运算符</h1> <h4 id="原文"><a href="#原文" class="header-anchor">#</a> <a href="https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/instanceof" target="_blank" rel="noopener noreferrer">原文<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></h4> <hr> <h2 id="语法"><a href="#语法" class="header-anchor">#</a> 语法</h2> <div class="language- line-numbers-mode"><pre class="language-text"><code>object instanceof constructor
  18. </code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br></div></div><blockquote><p>参数<br></p></blockquote> <ol><li>object 要检测的对象.<br></li> <li>constructor 某个构造函数</li></ol> <h2 id="描述"><a href="#描述" class="header-anchor">#</a> 描述</h2> <blockquote><p>instanceof 运算符用来检测 constructor.prototype 是否存在于参数 object 的原型链上。</p></blockquote> <div class="language- line-numbers-mode"><pre class="language-text"><code>// 定义构造函数
  19. function C(){}
  20. function D(){}
  21. var o = new C();
  22. // true,因为 Object.getPrototypeOf(o) === C.prototype
  23. o instanceof C;
  24. // false,因为 D.prototype不在o的原型链上
  25. o instanceof D;
  26. o instanceof Object; // true,因为Object.prototype.isPrototypeOf(o)返回true
  27. C.prototype instanceof Object // true,同上
  28. C.prototype = {};
  29. var o2 = new C();
  30. o2 instanceof C; // true
  31. o instanceof C; // false,C.prototype指向了一个空对象,这个空对象不在o的原型链上.
  32. D.prototype = new C(); // 继承
  33. var o3 = new D();
  34. o3 instanceof D; // true
  35. o3 instanceof C; // true
  36. </code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br><span class="line-number">10</span><br><span class="line-number">11</span><br><span class="line-number">12</span><br><span class="line-number">13</span><br><span class="line-number">14</span><br><span class="line-number">15</span><br><span class="line-number">16</span><br><span class="line-number">17</span><br><span class="line-number">18</span><br><span class="line-number">19</span><br><span class="line-number">20</span><br><span class="line-number">21</span><br><span class="line-number">22</span><br><span class="line-number">23</span><br><span class="line-number">24</span><br><span class="line-number">25</span><br><span class="line-number">26</span><br></div></div><blockquote><p>需要注意的是,如果表达式 obj instanceof Foo 返回true,则并不意味着该表达式会永远返回true,因为Foo.prototype属性的值有可能会改变,改变之后的值很有可能不存在于obj的原型链上,这时原表达式的值就会成为false。另外一种情况下,原表达式的值也会改变,就是改变对象obj的原型链的情况,虽然在目前的ES规范中,我们只能读取对象的原型而不能改变它,但借助于非标准的__proto__魔法属性,是可以实现的。比如执行obj.<strong>proto</strong> = {}之后,obj instanceof Foo就会返回false了。</p></blockquote> <p>instanceof和多全局对象(多个frame或多个window之间的交互)</p> <blockquote><p>在浏览器中,我们的脚本可能需要在多个窗口之间进行交互。多个窗口意味着多个全局环境,不同的全局环境拥有不同的全局对象,从而拥有不同的内置类型构造函数。这可能会引发一些问题。比如,表达式 [] instanceof window.frames[0].Array 会返回false,因为 Array.prototype !== window.frames[0].Array.prototype,因此你必须使用 Array.isArray(myObj) 或者 Object.prototype.toString.call(myObj) === &quot;[object Array]&quot;来判断myObj是否是数组。</p></blockquote> <h2 id="例子"><a href="#例子" class="header-anchor">#</a> 例子</h2> <p>例子: 表明String对象和Date对象都属于Object类型</p> <blockquote><p>下面的代码使用了instanceof来证明:String和Date对象同时也属于Object类型。</p></blockquote> <div class="language- line-numbers-mode"><pre class="language-text"><code>var simpleStr = &quot;This is a simple string&quot;;
  37. var myString = new String();
  38. var newStr = new String(&quot;String created with constructor&quot;);
  39. var myDate = new Date();
  40. var myObj = {};
  41. simpleStr instanceof String; // returns false, 检查原型链会找到 undefined
  42. myString instanceof String; // returns true
  43. newStr instanceof String; // returns true
  44. myString instanceof Object; // returns true
  45. myObj instanceof Object; // returns true, despite an undefined prototype
  46. ({}) instanceof Object; // returns true, 同上
  47. myString instanceof Date; // returns false
  48. myDate instanceof Date; // returns true
  49. myDate instanceof Object; // returns true
  50. myDate instanceof String; // returns false
  51. </code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br><span class="line-number">10</span><br><span class="line-number">11</span><br><span class="line-number">12</span><br><span class="line-number">13</span><br><span class="line-number">14</span><br><span class="line-number">15</span><br><span class="line-number">16</span><br><span class="line-number">17</span><br><span class="line-number">18</span><br><span class="line-number">19</span><br></div></div><p>演示mycar属于Car类型的同时又属于Object类型</p> <blockquote><p>下面的代码创建了一个类型Car,以及该类型的对象实例mycar. instanceof运算符表明了这个mycar对象既属于Car类型,又属于Object类型。</p></blockquote> <div class="language- line-numbers-mode"><pre class="language-text"><code>function Car(make, model, year) {
  52. this.make = make;
  53. this.model = model;
  54. this.year = year;
  55. }
  56. var mycar = new Car(&quot;Honda&quot;, &quot;Accord&quot;, 1998);
  57. var a = mycar instanceof Car; // 返回 true
  58. var b = mycar instanceof Object; // 返回 true
  59. </code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br></div></div><h3 id="instanceof运算符在数组中的使用"><a href="#instanceof运算符在数组中的使用" class="header-anchor">#</a> instanceof运算符在数组中的使用</h3> <p>确定一个对象在全局中是否为数组</p> <div class="language-js line-numbers-mode"><pre class="language-js"><code><span class="token keyword">var</span> colors<span class="token operator">=</span><span class="token punctuation">[</span><span class="token string">'aa'</span><span class="token punctuation">,</span><span class="token string">'bb'</span><span class="token punctuation">,</span><span class="token string">'cc'</span><span class="token punctuation">]</span><span class="token punctuation">;</span><span class="token comment">//创建包含三个字符串的数组</span>
  60. <span class="token keyword">if</span> <span class="token punctuation">(</span>colors <span class="token keyword">instanceof</span> <span class="token class-name">Array</span><span class="token punctuation">)</span><span class="token punctuation">{</span>
  61. <span class="token function">alert</span><span class="token punctuation">(</span><span class="token number">1</span><span class="token punctuation">)</span>
  62. <span class="token punctuation">}</span><span class="token keyword">else</span> <span class="token punctuation">{</span>
  63. <span class="token function">alert</span><span class="token punctuation">(</span><span class="token number">0</span><span class="token punctuation">)</span>
  64. <span class="token punctuation">}</span>
  65. <span class="token comment">//最后输出 1,说明该对象为数组</span>
  66. </code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br></div></div></div> <footer class="page-edit"><!----> <div class="last-updated"><span class="prefix">Last Updated:</span> <span class="time">11/2/2018, 4:24:41 PM</span></div></footer> <div class="page-nav"><p class="inner"><span class="prev">
  67. <a href="/JavaScript/2018_11_02_03.html" class="prev">匿名函数和闭包</a></span> <span class="next"><a href="/JavaScript/2018_11_02_05.html">JavaScript 事件流</a>
  68. </span></p></div> </main></div><div class="global-ui"></div></div>
  69. <script src="/assets/js/app.44a82e39.js" defer></script><script src="/assets/js/3.8ae7454d.js" defer></script><script src="/assets/js/90.dab61711.js" defer></script>
  70. </body>
  71. </html>