`
xmddl369
  • 浏览: 23628 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

JavaScript内建对象-Object

阅读更多



 

一、Object是所有类的父类,Object类存在以下一些静态方法:

1)Object.preventExtensions(object),阻止向对象添加新属性。

var Extensible = {

};

Object.preventExtensions(Extensible);

Extensible.a = 20;

console.log(Extensible.a);//undefined

 

2)Object.getPrototypeOf(object),返回对象的原型。

console.log(Object.getPrototypeOf(Extensible));//获取原型

console.log(Object.getPrototypeOf(Extensible)===Extensible.constructor.prototype);//true

console.log(Object.prototype);//Object对象的原型为null

 

3) Object.getOwnPropertyDescriptor(object, propertyname)

var b = {i:10};

console.log(Object.getOwnPropertyDescriptor(b,"i"));//返回属性描述,包含:value、writable、get、set、configurable(change或者delete)、enumerable(是否枚举)

 

4) Object.defineProperty(object, propertyname, descriptor),将属性添加到对象或修改现有属性的特性

var object = {};

 

// Add a data property to the object.

Object.defineProperty(object, "newDataProperty", {

    value: 101,

    writable: true,

    enumerable: true,

    configurable: true

});

obj.newDataProperty = 102;

console.log(obj.newDataProperty);

 

5)Object.getOwnPropertyNames(object),列出对象的属性

var names = Object.getOwnPropertyNames(obj);

for (var i = 0; i < names.length; i++) {

    var prop = names[i];

    console.log(prop + ': ' + obj[prop]);

}

 

6)Object.defineProperties(object, descriptors),将一个或多个属性添加到对象,并/或修改现有属性的特性

var object = {};

Object.defineProperties(object, {

    newDataProperty: {

        value: 101,

        writable: true,

        enumerable: true,

        configurable: true

    },

    newAccessorProperty: {

        set: function (x) {

            document.write("in property set accessor" + newLine);

            this.newaccpropvalue = x;

        },

        get: function () {

            document.write("in property get accessor" + newLine);

            return this.newaccpropvalue;

        },

        enumerable: true,

        configurable: true

    }});

 

// Set the accessor property value.

object.newAccessorProperty = 10;

 

7) Object.isSealed(object),如果无法在对象中修改现有属性的特性,且无法向对象添加新属性,则返回 true.

var obj = { pasta: "spaghetti", length: 10 };

Object.seal(obj);//阻止修改现有属性的特性,并阻止添加新属性。

console.log(Object.isSealed(obj));//true

obj.newProp = 50;

console.log(obj.newProp);//undefined

delete obj.length;

console.log(obj.length);

obj.length = 20;

console.log(obj.length);//20,对象值可以被修改

 

8)Object.freeze(object),阻止修改现有属性的特性和值,并阻止添加新属性。

var obj = { pasta: "spaghetti", length: 10 };

Object.freeze(obj);

obj.newProp = 50;

console.log(obj.newProp);

 

delete obj.length;

console.log(obj.length);

 

obj.pasta = "linguini";

console.log(obj.pasta);//spaghetti

 

console.log(Object.isFrozen(obj));//true,如果无法在对象中修改现有属性的特性和值,且无法向对象添加新属性,则返回 true。

 

9)Object.create(prototype),建一个具有与 Shape 对象相同的内部原型的对象。

var Shape = { twoDimensional: true, color: undefined, hasLineSegments: undefined };

var Square = Object.create(Object.getPrototypeOf(Shape)); 

 

 

10)Object.keys(object),返回对象的可枚举属性和方法的名称。

function Pasta(grain, width, shape) {

    this.grain = grain;

    this.width = width;

    this.shape = shape;

 

    this.toString = function () {

        return (this.grain + ", " + this.width + ", " + this.shape);

    }

}

 

var spaghetti = new Pasta("wheat", 0.2, "circle");

 

var arr = Object.keys(spaghetti);

 

console.log(arr);

 

// Create a constructor function.

function Pasta(grain, width, shape) {

    this.grain = grain;

    this.width = width;

    this.shape = shape;

}

 

var polenta = new Pasta("corn", 1, "mush");

 

var keys = Object.keys(polenta).filter(CheckKey);//过滤器

document.write(keys);

 

// Check whether the first character of a string is "g".

function CheckKey(value) {

    var firstChar = value.substr(0, 1);

    if (firstChar.toLowerCase() == "g")

        return true;

    else

        return false;

 

}

二、Object类存在以下一些原型方法:

1)object.hasOwnProperty(proName),确定某个对象是否具有带指定名称的属性。

var s = new String("Sample");

console.log(s.hasOwnProperty("split"));//false

 

console.log(String.prototype.hasOwnProperty("split"));//true

 

2)prototype.isPrototypeOf(object),确定一个对象是否存在于另一个对象的原型链中。

function Rectangle() {

}

var rec = new Rectangle();

 

console.log(Rectangle.prototype.isPrototypeOf(rec));

 

3)object.propertyIsEnumerable(proName),确定指定的属性是否可枚举。通常,预定义的属性是不可枚举的,而用户定义的属性始终是可枚举的。

var arr = new Array("apple", "banana", "cactus");

console.log(arr.propertyIsEnumerable(1));//true

 

var object = {id:1,name:"name"};

 

console.log(object.propertyIsEnumerable("name"));//true

 

4)dateObj.toLocaleString(),返回使用当前区域设置转换为字符串的日期。

5)objectname.toString([radix]),返回对象的字符串表示形式。

 

6)object.valueOf(),返回指定对象的基元值。

var attr = [1,2,3,4];

var date  = new Date();

var func = function(){

    console.log("test...");

};

var object = {id:1,name:"name"};

console.log(attr.valueOf());//数组,[1,2,3,4]

console.log(date.valueOf());//日期,从 UTC 1970 年 1 月 1 日午夜开始的存储的时间值(以毫秒为单位)

console.log(func.valueOf());//函数本身

 

 

注意:Math 和 Error 对象都没有 valueOf 方法。

  • 大小: 24.3 KB
分享到:
评论

相关推荐

    javascript经典特效---特酷的文字时间显示.rar

    这是JavaScript内建的对象,用于处理日期和时间。通过创建一个新的Date实例,我们可以获取到当前系统时间,或者设置特定的日期和时间。例如: ```javascript var now = new Date(); ``` `now`对象包含了年、月、日...

    jsp内建对象简介和使用

    ### JSP内建对象简介与应用 在Java Server Pages(JSP)技术中,内建对象是预定义的对象,它们提供了处理服务器端脚本、页面请求、响应等基本功能的关键工具。理解并熟练掌握这些内建对象对于开发动态网页至关重要...

    JavaScript创建一个object对象并操作对象属性的用法

    本文实例讲述了JavaScript创建一个object对象并操作对象属性的用法。分享给大家供大家参考。具体分析如下: 下面的JS代码创建了一个myMovie对象,并给对象title和director属性赋值,通过Object定义对象,其属性可以...

    javascript面对对象程序设计高级特性经典教程(值得保藏)_.docx

    本文将深入探讨JavaScript中的面向对象程序设计的高级特性,包括对象的创建、访问、删除,以及`this`关键字的使用,还有内建对象、Object和Array对象。 1. **创建对象** - **构造法**:通过`new Object()`创建一个...

    JavaScript教程--从入门到精通

    2. **基于对象**:JavaScript内建了许多内置对象,如Array、Date等,允许开发者直接操作和创建对象。 3. **简单性**:语法相对简单,易于学习,使得开发者可以快速上手。 4. **安全性**:JavaScript代码不能访问用户...

    Python常用内建模块-学习笔记共8页.pdf.zip

    `json`模块用于处理JSON(JavaScript Object Notation)格式的数据,它提供了序列化Python对象为JSON字符串和反序列化JSON字符串为Python对象的功能。这对于数据交换和存储非常有用。 8. **re模块** `re`模块实现...

    详解JavaScript的内置对象

    JavaScript 提供多个内建对象,比如 String、Date、Array 等等,使用对象前先定义,如下使用数组对象: var objectName =new Array();//使用new关键字定义对象 或者  var objectName =[]; 访问对象属性的语法: ...

    Objective-J 面向对象javascript

    8. 2D渲染引擎:Cappuccino内建的JavaScriptKit库提供了一个强大的2D渲染引擎,可以创建复杂的用户界面和动画效果,类似于Apple的Cocoa框架。 9. 自动内存管理:Objective-J支持垃圾回收机制,自动管理内存,减少...

    (知识引用自)廖雪峰-JavaScript-Python-Git-教程-by-it-ebooks-_z-lib.org_1

    24. **常用内建模块**:如collections模块提供高级数据结构,base64和struct用于数据编码解码,hashlib用于哈希计算。 25. **第三方模块**:如requests库进行HTTP请求,BeautifulSoup解析HTML,Numpy和Pandas处理...

    Javascript-DOM编程艺术研究.docx

    - **内建对象(Native Objects)**,如Array、Math、Date等,是JavaScript语言内置的对象,可以直接使用。 - **宿主对象(Host Objects)**,如`window`对象,由浏览器提供,提供了与浏览器交互的能力,如`window....

    base-object:JavaScript 中继承的实现

    基础对象 JavaScript 中继承的实现 怎么建? git clone 这个仓库 切换到新目录 npm install npm run build 用法 var Person = BaseObject . extend ( { init : function ( name , age ) { this . name = name ;...

    JavaScript_DOM_编程艺术读书笔记

    - **内建对象**:如`Math`、`Date`和`Array`等,由JavaScript语言本身提供的对象。 - **宿主对象**:如`Form`、`Element`和`Image`等,由浏览器提供的对象。 - **用户定义对象**:开发者可以自定义对象,例如定义...

    javascript1.5_core(英文版)

    5. **内建对象的扩展** - 如Date对象的增强,以及Math对象提供更多数学函数。 学习JavaScript1.5,尤其是核心概念,对于理解现代JavaScript版本的演进和新特性至关重要。尽管JavaScript1.5的功能相比现代版本较为...

    JavaScript高级程序设计(第3版)学习笔记11 内建js对象

    在JavaScript编程中,内建对象是一类特殊的对象,它们是由ECMAScript规范定义的,不依赖于浏览器或其他宿主环境。这些对象为JavaScript开发者提供了大量预先定义好的功能,使得开发者在编写代码时能够更加方便快捷。...

    廖雪峰javascript,python和git教程

    #### 常用内建模块 - collections、base64、struct、hashlib、itertools等。 - XML和HTML的解析。 #### 第三方模块 - PIL(Python Imaging Library)用于图像处理。 - 网络编程:TCP/IP和UDP协议的使用,SMTP和POP3...

    javascript 中的 delete及delete运算符

    JavaScript中的内建对象(build-in objects)和函数的`arguments`对象也携带DontDelete内部属性,这意味着它们也不能被删除。例如,`arguments`对象和函数的`length`属性都有DontDelete内部属性,因此它们都不能被`...

    将javascript序列化为json

    在JavaScript标准库中,有一个内建的全局函数`JSON.stringify()`,用于将JavaScript值转换为JSON字符串。这个函数接受三个参数:要转换的对象,一个可选的替换函数,以及一个可选的空格数量用于美化输出。 描述...

    JavaScript面向对象精要(下部)

    最后,JavaScript允许我们对内建的原型对象添加自定义方法,这给了开发者扩展语言本身的灵活性。例如,可以向Object.prototype添加一个自定义的方法,这样所有对象字面量创建的对象默认都会继承这个方法。 通过原型...

Global site tag (gtag.js) - Google Analytics