Zlog
首页归档关于
Zlog

一个探索技术、编程和构建 Web 的个人空间。

© 2026 Zlog

导航

首页归档关于

链接

/
|
·
·
·
首页/对象构造函数冻结方法

对象构造函数冻结方法

Object.freeze(obj)

Z

Zephyr110

2019年12月28日·2 分钟
|
frontendfrontend-javascript

Object.freeze

1. 语法

“

警告: Object.freeze(obj)

参数:

  • obj:要被冻结的对象。

返回值:

被冻结的对象。

2. 描述

冻结对象自身的所有属性都不可能以任何方式被修改,该方法返回传递的对象,而不是创建一个被冻结的副本。

需要注意的是,这是浅冻结。

“

个人在日常开发中常用场景:

  • 尚未使用过。

3. 示例

  • freezing objects

    js
    const obj = {
    	prop: function() {},
      foo: 'bar'
    };
     
    Object.freeze(obj);
    Object.isFrozen(obj); // true
     
    obj.foo = 'foo';
    obj; // {prop: ƒ, foo: "bar"}
  • freezing arrays

    js
    const a = [0];
    Object.freeze(a);
  • freezing is shallow

    js
    const obj = {
      foo: {}
    };
     
    Object.freeze(obj);
    Object.isFrozen(obj); // true
     
    obj.foo.bar = 'hi';
    obj; // {foo: {bar: 'hi'}}

Object.isFrozen

1. 语法

“

警告: Object.freeze(obj)

参数:

  • obj:被检测的对象。

返回值:

返回是否被冻结的布尔值。

2. 描述

描述即返回值。

“

个人在日常开发中常用场景:

  • 尚未使用过。

3. 示例

  • normal

    js
    Object.isFrozen({}); // false
     
    const obj = { foo: 'bar' };
    Object.isFrozen(obj); //false

Object.preventExtensions

1. 语法

“

警告: Object.preventExtensions(obj)

参数:

  • obj:将要变得不可扩展的对象。

返回值:

已经不可扩展的对象。

2. 描述

描述即返回值。

需要注意的是不可扩展但是可以删除。

“

个人在日常开发中常用场景:

  • 尚未使用过。

3. 示例

  • normal

    js
    let obj = {foo: 'bar'};
     
    Object.isExtensible(obj); // true
    Object.preventExtensions(obj);
    Object.isExtensible(obj); // false
     
    obj.bar = 'foo';
    obj; // {foo: 'bar'}
    delete obj.foo;
    obj; // {}

Object.isExtensible

1. 语法

“

警告: Object.isExtensible(obj)

参数:

  • obj:需要检测的对象。

返回值:

返回给定对象是否可扩展的布尔值。

2. 描述

描述即返回值。

“

个人在日常开发中常用场景:

  • 尚未使用过。

3. 示例

  • normal

    js
    const empty = {};
    Object.isExtensible(empty); // true
     
    Object.preventExtensions(empty);
    Object.isExtensible(empty); // false
     
    const sealed = Object.seal({});
    Object.isExtensible(sealed); // false
     
    const frozen = Object.freeze({});
    Object.isExtensible(frozen); // false

Object.seal

1. 语法

“

警告: Object.isExtensible(obj)

参数:

  • obj:需要检测的对象。

返回值:

返回给定对象是否可扩展的布尔值。

2. 描述

相对于 preventExtensions 不可删除属性,即不可配置;相对于 freeze 可修改。

“

个人在日常开发中常用场景:

  • 尚未使用过。

3. 示例

  • normal

    js
    const obj = {
      prop: function() {},
      foo: 'bar'
    };
     
    Object.seal(obj);
    Object.isSealed(obj); // true
    delete obj.foo;
    obj; // {prop: f, foo: 'bar'}

Object.isSealed

1. 语法

“

警告: Object.isSealed(obj)

参数:

  • obj:要被检查的对象。

返回值:

返回给定对象是否密封的布尔值。

2. 描述

描述即返回值。

“

个人在日常开发中常用场景:

  • 尚未使用过。

3. 示例

  • normal

    js
    const sealed = {
      foo: 'bar'
    };
     
    Object.seal(sealed);
    Object.isExtensible(sealed); //false
    Object.isFrozen(sealed); // true
    Object.isSealed(sealed); // true

标签

frontendfrontend-javascript

评论 (0)

评论功能仅在主站可用,请访问 zephyr110.vercel.app

相关文章

OffscreenCanvas

MDN-OffscreenCanvas

2025年12月10日·7 分钟

Service Worker

Web worker 是一种在浏览器中运行的后台脚本,它可以在独立的线程中执行任务,而不会阻塞主线程的执行。Web worker 的主要作用是处理耗时的计算任务,例如图片处理、文本分析、数据处理等,以避免阻塞主线程,提高页面的响应性能

2024年5月28日·4 分钟

vue-tour二次封装

npm install vue-tour

2023年7月22日·7 分钟

← 返回文章列表