[removed] Object doesn't support method 'freeze'

后端 未结 2 1528
被撕碎了的回忆
被撕碎了的回忆 2020-12-19 09:27

I am trying to create an enummeration in Javascript. The javascript code used is

var FeatureName = {
\"FEATURE1\": 1,
\"FEATURE2\": 2,
\"FEATURE3\": 3,
\"FEA         


        
2条回答
  •  别那么骄傲
    2020-12-19 10:23

    John Resig provides an alternative. I haven't tried it in the browsers you mention. Try it and let us know.

    http://ejohn.org/blog/ecmascript-5-objects-and-properties/

    Object.freeze = function( obj ) {
      var props = Object.getOwnPropertyNames( obj );
    
      for ( var i = 0; i < props.length; i++ ) {
        var desc = Object.getOwnPropertyDescriptor( obj, props[i] );
    
        if ( "value" in desc ) {
          desc.writable = false;
        }
    
         desc.configurable = false;
         Object.defineProperty( obj, props[i], desc );
      }
    
      return Object.preventExtensions( obj );
    };
    

提交回复
热议问题