今天无意中放到道格拉斯的关于javascript面向对象的一篇文章
http://javascript.crockford.com/prototypal.html
突然燃烧起了自己看看现在的原生对象Object的具体问题。发现msdn上面也有啦,自己的js知识实在是太缺乏啦。
他老人家在08年写的,我居然都没有去研究Object里面的对象和属性 The problem with the object function is that it is global, and globals are clearly problematic. The problem with 、、/**Object.prototype.begetObject is that it trips up incompetent programs, and it can produce unexpected results when begetObject is overridden. So I now prefer this formulation: **/ if (typeof Object.create !== 'function') { Object.create = function (o) { function F() {} F.prototype = o; return new F(); }; } newObject = Object.create(oldObject); //测试了一番发现IE8还是不支持这些属性但是在msdn上面又看到这些属性,估计是在ie10或者9中才有这些东西,现在IE貌似已经跟标准慢慢在靠近啦。。 //msdn的描述 在以下文档模式中受支持:Internet Explorer 9 标准模式和 Internet Explorer 10 标准模式。Windows 应用商店 应用程序中也支持此项。请参见版本信息。 在以下文档模式中不受支持:Quirks、Internet Explorer 6 标准模式、Internet Explorer 7 标准模式、Internet Explorer 8 标准模式。 我也就顺着看看Object其他自己没有了解的东西,现在做移动混合开发正好需要这些知识,Object.create();直接就创建啦一个对象而且继承了父对象的原型属性,虽然没有继承父对象的静态属性,不过那个可以通过in来实现,继承的不多说。多舒服啊。 Object.seal(object);//用来是一个对象不可被编辑 Object.freeze(object)//相反 Object.isSealed(ob);//是否是不可编辑的 Object.isFrozen(ob);//是否是解封的 Object.preventExtensions(a);//是否让对象可继承 Object.isExtensible(a);//检测对象是否可继承 var a={aa:3};Object.preventExtensions(a);Object.isExtensible(a); false 也有很多比较实用的工具类 Object.keys({a:3,b:4});//获取对象的key 将一个或多个属性添加到对象,并/或修改现有属性的特性。 object.defineProperties(object, descriptors) object.defineProperty(object, descriptor) Object.getOwnPropertyNames(Object); ["seal", "isSealed", "defineProperties", "defineProperty", "getPrototypeOf", "getOwnPropertyNames", "getOwnPropertyDescriptor", "caller", "freeze", "keys", "length", "prototype", "is", "create", "isFrozen", "isExtensible", "preventExtensions", "name", "arguments"]
相关推荐
总结以上内容,这份学习笔记主要向我们介绍了JavaScript中Object对象的构造、属性、方法及原型链等概念。了解这些基础知识对于掌握JavaScript对象的创建、操作和继承机制至关重要。掌握这些概念,可以帮助我们更好地...
如下所示: 代码如下: var person = new Object(); person.name = “Nicholas”; person.age = “29” person.job = “Software Engineer”; person.sayName = function () { alert(this.name); }; person....
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它基于JavaScript的一个子集,易于人阅读和编写,同时也易于机器解析和生成。在JavaScript中,我们可以使用`JSON.stringify()`方法将JavaScript对象...
### 现代JavaScript编程与面向对象特性 #### 引言 随着JavaScript的不断发展与成熟,这门语言已经成为全球范围内企业与开发者构建多样化应用的首选工具。从最初的简单脚本语言,JavaScript已演变成为功能全面、...
JavaScript中的Object对象是语言的核心组成部分,它提供了对对象进行操作的各种功能。在JavaScript中,一切皆为对象,包括基本数据类型,它们都有对应的包装对象。本文将深入探讨Object对象的使用和相关方法。 首先...
JavaScript Object Browser扩展是一种针对开发人员的实用工具,它专门设计用于可视化和探索JavaScript对象的结构。这个扩展在浏览器环境中提供了一个交互式的界面,允许开发者深入理解代码中的对象、属性和方法,...
本参考手册聚焦于JavaScript的核心对象,这些对象构成了JavaScript的基础框架,允许开发者进行数据处理、用户交互以及与浏览器进行通信。以下是手册中可能包含的主要知识点: 1. **全局对象Global**: JavaScript中...
### JavaScript面向对象编程精要 #### 一、引言 JavaScript是一种灵活且强大的脚本语言,它虽然起源于一种简单的浏览器脚本语言,但随着时间的发展,JavaScript已经成为了一种功能全面的编程语言,尤其是在Web开发...
在JavaScript中,创建对象是编程的基本操作之一,它支持多种方式来实现这一目的。这篇博客“javascript创建对象的方式(二)”可能详细介绍了在JavaScript中除了最基础的字面量语法之外的其他创建对象的方法。这里...
javascript面向对象编程指南 2nd英文版,英文名:Object-Oriented JavaScript。 What you will learn from this book The basics of object-oriented programming, and how to apply it in the JavaScript ...
3. 构造函数与原型:JavaScript提供构造函数(如Object、Array等)来创建特定类型的对象,并通过原型链实现对象之间的继承。 4. 原始包装类型:JavaScript有三种原始包装类型(Boolean、Number、String),它们提供...
面向对象编程(Object-Oriented Programming,OOP)是JavaScript中的一个重要概念,它允许开发者以更加模块化、可复用的方式组织代码。下面将详细探讨JavaScript面向对象编程的基本原理、特性以及实际应用。 1. **...
在JavaScript中,所有对象都有`toString`方法,这是它们继承自`Object.prototype`的。当调用一个非数组对象的`toString`时,它会返回`"[object Type]"`,其中`Type`是该对象的构造函数名称。例如,一个普通的对象会...
在JavaScript中,面向对象编程(Object-Oriented Programming,简称OOP)是一种重要的编程范式,它允许开发者创建复杂、可重用的代码结构。本指南将深入探讨JavaScript中的面向对象特性,包括类、对象、继承、封装和...
关于JavaScript的动态性,手册会介绍对象的可扩展性,包括使用`Object.isExtensible()`、`Object.preventExtensions()`、`Object.seal()`和`Object.freeze()`来控制对象的状态。此外,还会讲解`in`运算符和`for...in...
在JavaScript中,`__proto__`(在ES5及以下版本)或`Object.getPrototypeOf()`(在ES6及以后版本)可以用来获取一个对象的原型对象。 命名空间是解决JavaScript中命名冲突的一种策略。由于JavaScript是全局作用域,...
《Object_Oriented_Javascript》这本书详细介绍了如何在JavaScript中实现面向对象编程。 #### 面向对象编程基础 面向对象编程(OOP)主要基于四大核心概念:**封装**、**继承**、**多态**以及**抽象**。这些概念...
本文实例讲述了JavaScript创建一个object对象并操作对象属性的用法。分享给大家供大家参考。具体分析如下: 下面的JS代码创建了一个myMovie对象,并给对象title和director属性赋值,通过Object定义对象,其属性可以...