1. 程式人生 > >js 深凍結 與 淺凍結 Object.freeze

js 深凍結 與 淺凍結 Object.freeze

1、深凍結

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title>js 深凍結 與 淺凍結</title>
    </head>
    <body>
        <script type="text/javascript">
            function deepFreeze(o) {
                var prop, propKey
                Object.freeze(o) 
// 首先凍結第一層物件 for (propKey in o) { prop = o[propKey] if (!o.hasOwnProperty(propKey) || !(typeof prop === "object") || Object.isFrozen(prop)) { // 跳過原型鏈上的屬性、基本型別和已凍結的物件. continue } deepFreeze(prop)
//遞迴呼叫. } } </script> </body> </html>

2、淺凍結

Object.freeze(o)