Javascript 中 Object 的屬性


Javascript 中所有對象都繼承自 Ojbect。Object 有很多屬性。那么我們是否能夠用下面方式打印出來呢?

<html>
  <head>
    <script type="text/javascript">
    var object = new Object();
    for (var a in object)
    {
        alert(v);
    }
    </script>
  </head>
  <body>
  </body>
</html>

打印結果是空。

那么是不是說 Ojbect沒有屬性呢?

不是的。 Object 有很多屬性。只不過 Object 的屬性是不能枚舉出來的,所以無法用 for in 打印出來。

我們可以用 下面判斷一下。

<html>
  <head>
    <script type="text/javascript">
    var object = new Object();
    for (var a in object)
    {
        alert(v);
    }
    alert(object.propertyIsEnumerable("prototype"));//打印object 的原型是否可以枚舉.結果為 false
    //說明不可枚舉。
    </script>
  </head>
  <body>
  </body>
</html>

結果為 false。說明確實不可枚舉。

那么如果你一定想看看這些屬性怎么辦呢?

我們想到 js 中一個內置對象 window。他有些屬性我們都用過。我們看看是否能夠打印出來

<html>
  <head>
    <script type="text/javascript">
    var list = new Array(); //定義 array for (var a in window)//循環 window 對象中屬性
    {
        list.push(a); //把屬性push到數組中
    }
    alert(list);//打印數組 </script>
  </head>
  <body>
  </body>
</html>

結果列出了所有的屬性:

window, document, InstallTrigger, list, a, addEventListener, removeEventListener, dispatchEvent, dump, name, parent, top, self, sessionStorage, localStorage, onmouseenter, onmouseleave, getSelection, scrollByLines, getComputedStyle, location, history, locationbar, menubar, personalbar, scrollbars, statusbar, toolbar, status, close, stop, focus, blur, length, opener, frameElement, navigator, applicationCache, alert, confirm, prompt, print, showModalDialog, postMessage, atob, btoa, matchMedia, screen, innerWidth, innerHeight, scrollX, pageXOffset, scrollY, pageYOffset, scroll, scrollTo, scrollBy, screenX, screenY, outerWidth, outerHeight, scrollByPages, sizeToContent, content, closed, crypto, pkcs11, controllers, defaultStatus, mozInnerScreenX, mozInnerScreenY, scrollMaxX, scrollMaxY, fullScreen, back, forward, home, moveTo, moveBy, resizeTo, resizeBy, updateCommands, find, mozPaintCount, mozRequestAnimationFrame, mozCancelAnimationFrame, mozCancelRequestAnimationFrame, mozAnimationStartTime, URL, onafterprint, onbeforeprint, onbeforeunload, onhashchange, onmessage, onoffline, ononline, onpopstate, onpagehide, onpageshow, onresize, onunload, ondevicemotion, ondeviceorientation, setTimeout, setInterval, clearTimeout, clearInterval, setResizable, captureEvents, releaseEvents, routeEvent, enableExternalCapture, disableExternalCapture, open, openDialog, frames, onabort, onblur, oncanplay, oncanplaythrough, onchange, onclick, oncontextmenu, ondblclick, ondrag, ondragend, ondragenter, ondragleave, ondragover, ondragstart, ondrop, ondurationchange, onemptied, onended, onerror, onfocus, oninput, oninvalid, onkeydown, onkeypress, onkeyup, onload, onloadeddata, onloadedmetadata, onloadstart, onmousedown, onmousemove, onmouseout, onmouseover, onmouseup, onmozfullscreenchange, onmozfullscreenerror, onmozpointerlockchange, onmozpointerlockerror, onpause, onplay, onplaying, onprogress, onratechange, onreset, onscroll, onseeked, onseeking, onselect, onshow, onstalled, onsubmit, onsuspend, ontimeupdate, onvolumechange, onwaiting, oncopy, oncut, onpaste, onbeforescriptexecute, onafterscriptexecute, mozIndexedDB, performance

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。