javascript Object类方法的使用

1.获得属性名称

var o = {    
         p1: 123,     
         p2: 456
          };  
Object.keys(o);//获得可枚举的属性名称
// ["p1", "p2"] 
Object.getOwnPropertyNames(o); //获得全部属性名称
// ["p1", "p2"]

2.获得属性的信息描述

var o = { p: ‘a‘ }; 
Object.getOwnPropertyDescriptor(o, ‘p‘)

// Object { value: "a",           writable: true,           enumerable: true,           configurable: true  }

3.定义一个属性

Object.defineProperty(object, propertyName, attributesObject)

第一个参数是目标对象,第二个参数是属性名称,第三个时属性描述

var o = Object.defineProperty({}, "p", {        
                    value: 123,         
                    writable: false, //是否可写        
                    enumerable: true,         
                    configurable: false }); 
                    o.p // 123 
                    o.p = 246; 
                    o.p // 123 // 因为writable为false,所以无法改变该属性的值

定义多个属性

var o = Object.defineProperties({}, {   
                                            p1: { value: 123, enumerable: true },         
                                            p2: { value: "abc", enumerable: true },         
                                            p3: { 
                                                    //get: function() { return this.p1+this.p2 }, 
                                                    value: this.p1+this.p2,               
                                                    enumerable:true,//是否可枚举            
                                                    configurable:true //是否可修改属性描述   
                                                    } 
                                        }); o.p1 // 123 o.p2 // "abc" o.p3 // "123abc"

注意,get不能和value或writable同时出现来描述统一属性

4.属性是否可枚举的检查

Object.prototype.propertyIsEnumerable()

user.propertyIsEnumerable(‘toString‘);

5.禁止对象动态扩展

Object.preventExtensions(object);
var o = new Object(); 
Object.isExtensible(o) 
// true 
Object.preventExtensions(o);
 Object.isExtensible(o)

6.冻结对象,使其成为常量对象(无法扩展属性和方法)

var o = {p:"hello"}; 
Object.freeze(o); 
o.p = "world"; 
o.p 
// hello 
o.t = "hello";
 o.t // undefined
时间: 2024-12-23 15:17:04

javascript Object类方法的使用的相关文章

Javascript Object.defineProperty()

转载声明: 本文标题:Javascript Object.defineProperty() 本文链接:http://www.zuojj.com/archives/994.html,转载请注明转自Benjamin-专注前端开发和用户体验 Javascript作为一种语言,有个美誉,开发者可以重新定义任何事情.虽然这在过去的一些javascript可以,但是ECMAScript5中已经开始得到改变,例如,我们可以使用Object.defineProperty创建一个不能被修改的对象的属性.本文中我们

Javascript Object、Function对象

1.Object对象 原型对象 原型是对象的一个属性,也就是prototype属性,每个对象都有这个内部属性,而且他本身也是一个对象. ? 1 2 3 4 5 6 <script type="text/javascript">      Object.prototype.num= 10;      alert("添加原型对象属性:"+ Object.num);      Object.num = 20;      alert("添加对象属性:&

JavaScript Object对象

Object对象 1. 介绍 Object对象,是所有JavaScript对象的超类(基类).定义了Js对象的基本方法和属性. 2. 构造函数 2.1 new Object() :返回一个Object实例 2.2 new Object(value) :根据value的值,返回不同的对象(Number.Boolean.String) 参数: ①value {number | bool | string} :一个数字.布尔值或者字符串 返回值: {Number.Boolean.String} 返回一

JSON(JavaScript Object Notation)

JSON(JavaScript Object Notation) notation [n??'tei?(?)n] n.   记号:符号:注释

【JavaScript】Registering JavaScript object methods as callbacks

The registration of callback functions is very common in JavaScript web programming, for example to attach user interface event handlers (such as onclick), or to provide a function to handle an XHR response. Registering an object method as a callback

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式

JSON JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式. 它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一个子集. JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等). 这些特性使JSON成为理想的数据交换语言.易于人阅读和编写,同时也易于机器解析和生成. J

(The application/json Media Type for JavaScript Object Notation (JSON))RFC4627-JSON格式定义

原文  http://laichendong.com/rfc4627-zh_cn/ 摘要 JavaScript Object Notation (JSON)是一个轻量级的,基于文本的,跨语言的数据交换格式.它从ECMAScript编程语言标准(ECMAScript Programming Language Standard)衍生而来.JSON定义了一组用于表示结构化数据的可移植的格式化规则. 1. 简介 JavaScript Object Notation (JSON)是用于结构化数据序列化的一

Json(JavaScript Object Notation)。

Json(JavaScript Object Notation).Json是一种数据交互格式,一个不能实现数据交互功能的项目是没有任何意义的,大多的Ajax框架的数据交互都基于Json,如:jQuery.ExtJs等.因此理解Json掌握Json并熟练运用是很重要的.以目前主流的开发语言为例,.NET已经把Json封装到类中,无需配置,直接与数据库交互,轻松的封装直接使用:Java就麻烦些,必须去下一个Json包,然后再做一些配置,才可以使用:PHP5.2.0及以后的版本已经封装了Json,支持

解如何利用 XML 和 JavaScript Object Notation 在 Ajax 客户端和 Java 服务器之间传输数据。

2006 年 6 月发表 Ajax 核心 API(即所谓的 XMLHttpRequest)的唯一用途就是发送 HTTP 请求,在 Web 浏览器与服务器之间进行数据交换.Web 页面中运行的 JavaScript 代码,可以使用 XMLHttpRequest 将该请求参数提交至服务器端脚本,例如 Servlet 或 JSP 页面.调用的 Servlet/JSP 将发回一个响应,其中包含了一般用于不需刷新整个页面即可更新用户查看内容的数据.此种方法在性能和可用性方面均体现出了独有的优势,因为这将降