( ! ) Warning: include(): http:// wrapper is disabled in the server configuration by allow_url_include=0 in D:\www\up\js\object.php on line 14
Call Stack
#TimeMemoryFunctionLocation
10.0000359632{main}( )...\object.php:0

( ! ) Warning: include(http://pub.houheaven.com/Nav02/Nav_deep2.htm): failed to open stream: no suitable wrapper could be found in D:\www\up\js\object.php on line 14
Call Stack
#TimeMemoryFunctionLocation
10.0000359632{main}( )...\object.php:0

( ! ) Warning: include(): Failed opening 'http://pub.houheaven.com/Nav02/Nav_deep2.htm' for inclusion (include_path='.;C:\php\pear') in D:\www\up\js\object.php on line 14
Call Stack
#TimeMemoryFunctionLocation
10.0000359632{main}( )...\object.php:0

信息:原创2014-08-180 次阅读0 个评论

标签:后天堂向上,网站制作,自学教程,网站技术,javascript,javascript对象

创建对象

1. new

obj=new Object();

obj.item1="value1";

obj.item2="value2";

obj.fun=function(){};

2. 字面量

obj={

item1:"value1",

item2:"value2",

fun:function(){}

};

3. 工厂模式

function createObj(item1,item2)

{

var obj=new Object();

obj.item1=item1;

obj.item2=item2;

obj.fun=function(){};

return obj;

}

var obj1=createObj("1001","dk-170890");

var obj2=createObj("1002","dk-170367");

4. 构造模式

function Obj(item1,item2)

{

this.item1=item1;

this.item2=item2;

this.fun=function(){};

}

var obj1=new Obj("1001","dk-170890");

var obj2=new Obj("1002","dk-170367");

5. 原型模式

对象原型(prototype)是对象的共享区域,在实例化的时候,对象自动初始化,且原型内的属性和方法相同。

function Obj()

{

Obj.prototype.item1="value1";

Obj.prototype.item2="value2";

Obj.prototype.fun=function(){};

}

var obj1=new Obj();

var obj2=new Obj();

alert(obj1.item1);// 输出 value1

alert(obj2.item1);// 输出 value1


说明:

前两种方法优点是简单直接,缺点是无法重用,比如,创建10个对象,就要写10次代码。

后两种方法功能相近,但是构造模式比工厂模式更简洁易用。



对象属性与方法

属性:

名称描述
Constructor对创建对象的函数的引用(指针)。
Prototype对该对象的对象原型的引用。

方法:

名称描述
HasOwnPropety(property)判断对象是否具有某个属性。(例如,ob.HasOwnProperty("id"))
IsPrototypeOf(Object)判断对象是否为另一个对象的原型。
PropertyIsENumerable(property)判断给定的属性是否可以用 for…in 进行枚举。
ToString()返回一个对象内容转换为字符串的新值。
ValueOf()返回最适合对象的原始值。很多类返回值与 ToString() 返回的相同。

常见问题

1. 如何获取对象中的属性和方法的个数?

var obj={

name="后天堂",

site:"www.houheaven.com" };

var sum=0;

for(n in obj){ sum++; }

显示框架
top