繁体中文
设为首页
加入收藏
首页
网页制作
脚本专栏
网络编程
数据库
源码下载
软件下载
脚本下载
平面设计
媒体动画
网站技巧
实用技巧
免费资源
主机租用
域名查询
基础知识
应用技巧
表单特效
广告代码
网页特效
黑客性质
页面导航:
首页
→
网络编程
→
JavaScript
→
应用技巧
→ 正文内容 javascript prototype
javascript prototype的深度探索不是原型继承那么简单第2/3页
发布:dxy 字体:[
增加
减小
] 类型:转载
JavaScript中对象的prototype属性,可以返回对象类型原型的引用。这是一个相当拗口的解释,要理解它,先要正确理解对象类型(Type)以及原型(prototype)的概念。
上面的例子通过prototype为Point对象设定了默认值(0,0),因此p1的值为(0,0),p2的值为(1,2),通过delete p2.x, delete p2.y; 可以将p2的值恢复为(0,0)。下面是一个更有意思的例子:
点击运行可以看到效果:
[Ctrl+A 全选 提示:你可先修改部分代码,再按运行]
利用prototype还可以为对象的属性设置一个只读的getter,从而避免它被改写。下面是一个例子:
点击运行可以看到效果:
[Ctrl+A 全选 提示:你可先修改部分代码,再按运行]
将this.getFirstPoint()改写为下面这个样子:
this.getFirstPoint = function()
{
function GETTER(){};
GETTER.prototype = m_firstPoint;
return new GETTER();
}
则可以避免这个问题,保证了m_firstPoint属性的只读性。
点击运行可以看到效果:
[Ctrl+A 全选 提示:你可先修改部分代码,再按运行]
实际上,将一个对象设置为一个类型的原型,相当于通过实例化这个类型,为对象建立只读副本,在任何时候对副本进行改变,都不会影响到原始对象,而对原始对象进行改变,则会影响到副本,除非被改变的属性已经被副本自己的同名属性覆盖。用delete操作将对象自己的同名属性删除,则可以恢复原型属性的可见性。下面再举一个例子:
点击运行可以看到效果:
[Ctrl+A 全选 提示:你可先修改部分代码,再按运行]
当前2/3页
上一页
1
2
3
下一页
Tags:
javascript
prototype
深度探索
浏览次数:
载入中...
打印本文
关闭本文
返回首页
0
顶一下
上一篇文章:
JavaScript 应用类库代码
下一篇文章:
Javascript typeof 用法
·在百度中搜索关于“
javascript prototype的深度探索不是原型继承那么简单
相关内容
文章评论
共有
位脚本之家网友发表了评论
我来说两句
同 类 文 章
ppk谈JavaScript style属性
css客齐集社区头像显示效果
javascript实现动态CSS换肤技术的脚本
阻止JavaScript事件冒泡传递(cancelBubb
利用Ext Js生成动态树实例代码
比较精简的Javascript拖动效果函数代码
JGrid中拖动改变列宽的脚本 原型
js查找父节点的简单方法
Apply an AutoFormat to an Excel Spread
超强推荐的js编程中的简洁写法收集
最 近 更 新
js快速与任意QQ号码建立临时对话
eval(function(p,a,c,k,e,d)系列解密java
比较详细的关于javascript中void(0)的具体
两个SUBMIT按钮,如何区分处理
javascript md5加密代码
HTML DOM Viewer
用JavaScript实现字符串切分功能
[换皮肤程序]一个比较使用的脚本程序
用 javascript 实现的点击复制代码
Maps Javascript
热 点 排 行
Div+CSS+JS树型菜单,可刷新
eval(function(p,a,c,k,e,d)系列
在线游戏大家来找茬II
javascript小技巧 超强推荐
动态加载js文件 document.create
JavaScript实现Sleep函数的代码
彻底搞懂JS无缝滚动代码
js实现的点击超链显示隐藏层
支持IE和FF的div+css选项卡
身份证号码前六位所代表的省,市,
文章评论
共有 位脚本之家网友发表了评论我来说两句