关于javascript对象的一些总结

javascript中的对象分为全局对象,自定义对象


全局对象指的是对javascript中各种事物的上下文环境。

包括:javascript中所有的内置对象,如String,Number。javascript中的内置属性以及浏览器对象


在浏览器环境下直接用window对象即可,其他环境使用如下方法:
function getGlobal(){
  return (function(){return this;
}).call(null);


}
全局属性
Infinity:一个代表无穷大的数值
NaN:返回一个特定的值,表示这不是数值
undefined:该值表示标识符未定义


全局对象类:是全局对象的直接成员,是其他数据类型作为基类的成员
所有的全局对象类都是从单个基类继承而来的:Object 对象
Number,Math,Date…


Object对象:
Object对象是javascript中的所有对象的基类
语法:new Object([value])
constructor:定义创建该对象的构造函数  object.constructor
prototype:允许扩展对象,为对象的所有实例添加新的方法


对象的原型:
javascript使用原型继承(prototypal  inheritance)的方式来实现面向对象
通过定义原型的方式创建对象



检查是否有指定的属性使用hasOwnProperty();


valueOf()与toString()方法
都是返回值,打印文本用toString,返回基本值就用valueOf
可以自己编写新的toString()方法,该方法可以扩展所有位于原型链下游的对象,从而使这些对象也具有自定义的toString()方法
Object.prototype.toString=function(){
var result=””;
for (prop in this )
{  
 result+=prop +”:”+this[prop].toString()+”,”;
return result;
}
var person={name:my,age:90};
person.toString();


}


合并对象:将对象的合并功能构件进对象自身的定义中

使用prototype属性为Object对象添加一个合并对象的函数即可实现该功能



自定义对象:



面向对象的javascript
在基于“类”的面向对象程序设计语言中,行为的重用是通过类实现
在基于“原型”的面向对象程序设计语言中,行为的重用是通过复制已存在的对象实现的


对象一般具有3个主要的部分
1、 构造函数
2、 多个方法
3、 多个属性
当初始化对象时,将调用该对象的构造函数。在构造函数中可以设置对象的某些属性。有时,构造函数除了创建特定类的实例之外,并不完成任何其他功能


创建对象
1、 使用new object();
2、 使用对象字面量persn={name :am,age:12}


删除属性与对象
使用delete关键字


对象是一种引用类型,我们复制对象时,实际上仅仅复制了一个指向该对象的引用


比较对象
不能使用==与===,同时遍历两个对象比较


克隆对象
创建一个完全相同的副本,使用遍历


静态成员
是类的固定成员,在程序中的任何位置都可以访问他们,并且不需要创建类的实例。javascript中只需将成员直接添加到对象的实例中即可高效地将一个成员定义为静态成员


私有成员:
创建了某个属性或者方法,但是不希望暴露该属性与方法(即只允许该类的内部其他方法调用该属性或者方法)过去,在成员名称之前使用一个或者两个下划线的方式说明该成员为私有成员,或者在类的构造函数中创建这些属性与方法。


Get存取器与Set存取器
对于类而言,get存取器就是返回某个属性值的方法,set用于设置属性的值

猜你喜欢

转载自blog.csdn.net/sinat_31608641/article/details/58586421