javascript 之 Object.defineProperty

语法:

Object.definePropty(obj,prop,descriptor);

参数:

obj:要在其上定义属性的属性

prop:要定义或修改的属性的名称

desriptor:将被定义或修改的属性描述符

返回值:

被传递给函数对象

 

属性描述符:

Configurable: 能否通过delete删除属性从而重新定义属性,能否修改属性的特性,或者能否把属性修改为访问器属性,默认为ture

Enumerable:能否通过for-in循环返回属性 默认为ture

Writable:能否修改属性的值,默认为true;

案例:

1
2
3
4
5
6
7
8
9
10
11
var person={
       name:"Nic"
   }
   var person={};
   Object.defineProperty(person,"name",{
       writable:false,
       value:"Nicholas",<br>        enumerable:false
   })
   alert(person.name); //Nicholas
   person.name="Greg";
   alert(person.name);//Nicholas<br>   <br>    for(var key in person) //当enumerable为false时,无法进入该循环,因为此设置无法让person对象的name属性进行for-in循环<br>   {<br>      console.log(key);  <br>   }<br>

  

Value:包含这个属性的数据值。默认值为undefined

 

posted @   zmztyas  阅读(363)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示