zkjbeyond
原创专栏 开源学习
BlogJava
|
首页
|
|
发新文章
|
联系
|
聚合
|
管理
随笔:40 文章:0 评论:258 引用:0
javascript进阶之对象篇 (2)大家熟悉的javascript对象
<
SCRIPT LANGUAGE
=
"
JavaScript
"
>
<!--
Object.prototype.toString
=
function ()
{
return
'
myToString
'
}
;
var o
=
new
Object();
o.name
=
'
zkj
'
;
o.age
=
25
;
o.desc
=
function ()
{
return
'
姓名:
'
+
this
.name
+
'
,年龄:
'
+
this
.age}
;
for
( var key in o)
{
alert(key
+
'
:
'
+
o[key]
+
'
type:
'
+
typeof (o[key]))
if
( typeof (o[key])
==
'
function
'
)
{
alert(
'
执行方法key:
'
+
(o[key])())
}
}
alert(o);
alert(
new
Date());
//
-->
</
SCRIPT
>
<
SCRIPT LANGUAGE
=
"
JavaScript
"
>
<!--
Object.prototype.toString
=
function ()
{
return
'
myToString
'
}
;
function person()
{
}
var o
=
new
person();
o.name
=
'
zkj
'
;
o.age
=
25
;
o.desc
=
function ()
{
return
'
姓名:
'
+
this
.name
+
'
,年龄:
'
+
this
.age}
;
for
( var key in o)
{
alert(key
+
'
:
'
+
o[key]
+
'
type:
'
+
typeof (o[key]))
if
( typeof (o[key])
==
'
function
'
)
{
alert(
'
执行方法key:
'
+
(o[key])())
}
}
alert(o);
alert(
new
Date());
//
-->
</
SCRIPT
>
看以上两段代码,估计很多人对后面的代码熟悉,也这样写了。可他们执行结果是一样的。如果你改变了javascript对象的原型对象后会有些区别。
在这我想提出以下几个问题:
a、javascript对象也是单根继承的对象.但不是所有对象都继承自Object.如例子中的Date对象。
b、千万别乱定义Object.prototype原型对象。prototype.js中加了个extends被人说了半天。但我们自己写类库时,千万别尝试改Object的prototype。
c、别用javacript语言模仿java来写代码。想上面的,需要一个person的“类”,并不是非需要定义一个,注意javascript对象的属性是可以随意增加或删除的。并不象java那样在类中写死。
d、就上面两段代码有什么区别呢?可以简单的说是person继承了Object”类“。javascript中对象的继承是用prototype来实现的,后面我们讨论prototype原型对象。
e、那我们应用的时候到底是否该自己定义自己的构造函数(如person),还是直接使用Object呢?这是个复杂的问题,我个人来说喜欢多用Object.
发表于 2006-04-17 23:03
原创专栏 开源学习
阅读(1529)
评论(2)
编辑
收藏
所属分类:
javascript语言
评论
#
re: javascript进阶之对象篇 (2)大家熟悉的javascript对象
试试
alert(new Date() instanceof Object); //true
我觉得Date也是一个Object,只不过是Date有他自己的toString方法覆盖了Object的toString方法。
#
re: javascript进阶之对象篇 (2)大家熟悉的javascript对象
别用javacript语言模仿java来写代码?
我觉得需要是一个类的话就尽量让它像一个类,而不要是随便增加它的属性。起码代码的可读性和维护性比较好
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
Chat2DB
C++博客
博问
管理
相关文章:
再说说prototype.js的事件注册
闭包(续)
javascript语言中的闭包
javascript进阶之对象篇(7)网页中的javascript对象
javascript进阶之对象篇(5)继承
javascript进阶之对象篇(4)构造函数、原型对象
javascript进阶之对象篇(3)函数与自定义”类“
javascript进阶之对象篇 (2)大家熟悉的javascript对象
javascript进阶之对象篇(1) javascript中有那些对象
javascript进阶之对象篇(6)Object类原型对象的属性和方法
<
2006年4月
>
日
一
二
三
四
五
六
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
常用链接
我的随笔
我的评论
我的参与
最新评论
留言簿
(31)
给我留言
查看公开留言
查看私人留言
我参与的团队
WebGIS开发设计组(0/0)
随笔分类
(45)
dojo(5)
(rss)
DWR(4)
(rss)
gis地图服务(11)
(rss)
javascript语言(12)
(rss)
prototype.js(4)
(rss)
ruby学习
(rss)
Spring Framework
(rss)
Web框架(1)
(rss)
个人随笔(5)
(rss)
其它ajax技术(3)
(rss)
随笔档案
(40)
2006年11月 (1)
2006年7月 (1)
2006年6月 (4)
2006年5月 (9)
2006年4月 (16)
2006年3月 (4)
2006年2月 (5)
blogs
flyingis
gearthblog
Mars的自语
ruby开始
http://www.rubytao.com/
国内js的一些链接
ajax中国
幻宇个站
无忧脚本
每日逛逛
Google中文社区
java视线
tss
最新随笔
1. 说说arcgisserver9.2
2. 说说关于AJAX的书籍
3. 研究研究YUI
4. 这段时间对ajax的感想
5. 再说说prototype.js的事件注册
6. 写给gis程序员
7. 跟我再深入啃啃prototype.js
8. dojo学习资源,不定期更新
9. 闭包(续)
10. javascript语言中的闭包
11. arcims结构分析
12. prototype.js dojo 中 javascript继承实现
13. 从百草园到三味书屋
14. dojo的包加载机制
15. What Is Dojo?
最新评论
1. re: javascript语言中的闭包
评论内容较长,点击标题查看
--kujh
2. re: javascript语言中的闭包
评论内容较长,点击标题查看
--kujh
3. re: javascript语言中的闭包
评论内容较长,点击标题查看
--kujh
4. re: 写给gis程序员
评论内容较长,点击标题查看
--kujh
5. re: 写给gis程序员
评论内容较长,点击标题查看
--kujh
6. re: 写给gis程序员
评论内容较长,点击标题查看
--kujh
7. re: 从百草园到三味书屋
评论内容较长,点击标题查看
--kujh
8. re: 说说关于AJAX的书籍
评论内容较长,点击标题查看
--javaajax
9. re: 从百草园到三味书屋[未登录]
没看明白是个求东西丫
--李海
10. re: dwr配置篇web.xml
感谢发帖人
--carpenter
阅读排行榜
1. dwr配置篇web.xml(15868)
2. 写给gis程序员(10892)
3. javascript语言中的闭包(10890)
4. 说说关于AJAX的书籍(9969)
5. 跟我再深入啃啃prototype.js(9948)
6. 再说说prototype.js的事件注册(8398)
7. prototype.js dojo 中 javascript继承实现(8246)
8. 乱评prototype.js(7196)
9. dojo的包加载机制(7171)
10. 闭包(续)(7026)
评论排行榜
1. 写给gis程序员(27)
2. dojo的包加载机制(22)
3. arcims开发经验总结(17)
4. javascript语言中的闭包(16)
5. 说说arcgisserver9.2(14)