博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
(12)javascript 面向对象 理解对象
阅读量:5113 次
发布时间:2019-06-13

本文共 1163 字,大约阅读时间需要 3 分钟。

1 声明

  var person = new Object();

  person.name = "Jackey";//属性

  person.age = 20;//属性

  person.sayName = function(){};//方法

  2 var person = {

    name:"Jackey",

    age:20,

    sayName:function(){}

  };

 

2 属性类型

  1 [Configurable] 表示能否通过delete删除属性/能否修改属性的特性

    /能否把属性修改为访问器属性。默认为true

  2 [Enumerable]表示能否通过for-in循环返回属性,默认为true

  3 [Writable] 表示能否修改属性的值,默认为true

  4 [Value]包含这个属性的数据值,读取属性值的时候,从这个位置读。写入属性值的时候

    把新值保存到这个位置。默认值为undefined

 

  var person = {

    name:"Jackey"

  };

  将[Value]设置为Jackey,如果要修改属性的默认特性,必须使用ECMAScript5的object.definedProperty()

  这个方法必须接受3个参数:属性所在对象(person),属性的名字,描述符对象。

  var person={};

  Object.definedproperty(person,"name",{

    writable:false,

    value:"Cassi"

    });

  person.name="Jackey";//不能修改

  alert(person.name);//Cassi

 

  configurable 设置为false:不能删除对象中的属性

  var person = {};

  Object.definedProperty(person,"name",{

    configurable:false,

    value:"Jackey"

  });

  alert(person.name);//Jackey

  delete person.name;

  alert(person.name);//Jackey不能删除,可正常显示

 

  一旦修改了属性的configurable writable属性,就不能再修改了,否则会报错

  ie8是第一个实现Object.definedProperty方法的浏览器

 

  访问器属性:getter setter:省略

  

转载于:https://www.cnblogs.com/lihaozhou/p/3576485.html

你可能感兴趣的文章
ASP.NET MVC 拓展ViewResult实现word文档下载
查看>>
jQuery Mobile笔记
查看>>
8、RDD持久化
查看>>
第二次团队冲刺--2
查看>>
查询数据(后台到前台传递数据,显示数据)
查看>>
集群tomcat+apache配置文档
查看>>
VMware Tools安装
查看>>
2019.04.09 电商20 购物车的展示
查看>>
Linux上架设boost的安装及配置过程
查看>>
[转载]加密算法库Crypto——nodejs中间件系列
查看>>
zoj 2286 Sum of Divisors
查看>>
OO5~7次作业总结
查看>>
如何判断主机是大端还是小端(字节序)
查看>>
Centos7 日志查看工具
查看>>
使用Xshell密钥认证机制远程登录Linux
查看>>
BZOJ2459 : [BeiJing2011]神秘好人
查看>>
Django入门示例之被解放的姜戈——01 初试天涯(安装及启动)
查看>>
OpenCV之响应鼠标(三):响应鼠标信息
查看>>
python7 数据类型的相互转化 字符编码
查看>>
Android 画图之 Matrix(一)
查看>>