易截截图软件、单文件、免安装、纯绿色、仅160KB

Javascript对象,prototype链

Doc链接: http://docs.google.com/Doc?docid=0AZUdXGtQa0xqZGRocmo3MzZfMjA2Y2ZqZ2szZ2g&hl=en
关键词:JavaScript;对象;prototype;prototype链
我们来打个比方吧:
随着个人电脑硬件的白菜价化,很多硬件制造商开始帮用户做整机DIY。有时候用户可能回到“总部”去装机,那里东西很全。但一般这些厂家在各个小地方也有网点,你可以就近去装机,他也提供所有的配件。但这里这些网点自己并没有配件,而是当用户要的时候他们便去总部拿,有些硬件总部也没有,这时总部在向生产商拿... 最终可能会到生产流水线上。但这一切对装机的人来说是不需要关心的,他只知道你是装机网点,我要什么东西(当然局限在电脑硬件)你都能提供。同时这些厂家也不会在任何一个网点放置所有的硬件,只是有需要的时候会向上一级取。
这套东西就是我要说的JavaScript中的对象到底是怎么工作的:prototype链,就像这种硬件供应商不断向自己的上一级去取一样的效果。
如果你不想关系OOP(面向对象编程)的话,完全没必要去关心这个话题。(这里能不能叫OOP以后再理解吧)
首先还是要说一下js的原生对象,包括:Array、Number、RegExp、Function、Object... 这里不一一列举的,列举这些东西的文档到处都是。
当我们用这些原生对象的时候可以理解为他们就是系统提供的“类”,我们可以这样定义一个对象:
var obj = new Object();
obj.x = "hello world"; // 这样会动态的给obj添加一个“成员变量”,应该叫属性

这里就可以理解我们创建了一个Object类的实例obj。obj可以使用Object的方法obj.toString()等等。
这一切“长的”都很像Java、c++那样的类、实例的行为。但我们在下面将看到,其实不是这样的...
js是一个prototype语言
prototype(原型),如果你知道这个概念,那是最好。如果不知道,我这里会做一些介绍,但不是官方的,深入的理解请看其他资料。
prototype,prototype,prototype,prototype,prototype,prototype,prototype ...
先把他背下来吧,prototype到底干啥的?原型?不理解... 没关系,记住它
这里我先声明几点(不一定正确,但对你当前理解下面的行为会有很好的帮助,当看不懂的时候就来看这几条)
1. js里没有“类”这一概念,是根本就没有。
2. js里的最常用的东西就是Object(以下都称为对象),他有点像一个hash map,一个键值对集合,一般我们习惯写成


相关文档:

常用的JavaScript验证正则表达式(转载)


下面都是我收集的一些比较常用的正则表达式,因为平常可能在表单验证的时候,用到的比较多。特发出来,让各位朋友共同使用。呵呵。
匹配中文字符的正则表达式: [u4e00-u9fa5]
评注:匹配中文还真是个头疼的事,有了这个表达式就好办了
匹配双字节字符(包括汉字在内):[^x00-xff]
评注:可以用来计算字符串的长度(一 ......

JavaScript中一点让人很不理解的地方

这个地方就是为什么它的String类型不直接提供一个trim方法呢?
为什么每次都要写这样一句话呢?
String.prototype.trim=function(){return this.replace(/(^\s*)|(\s*$)/g,"");}
这样有意思吗?
JavaScript中规定一个这样的方法会死啊? ......

JavaScript之正则

定义方法:
1、用构造函数RegExp
2、直接量,包含在一对(/)之间的字符
直接量字符:
字母数字字符——自身
\o——NULL字符
\t——制表符
\n——换行符
\v——垂直制表符
\f——换页符
\r——回车符 ......

利用Javascript向页面中插入TABLE,IE下无法正常显示

利用Javascript向页面中插入TABLE,IE下无法正常显示
关键字: table, appendchild, ie, firefox
在项目中偶然遇到一个怪异的问题,我要利用javascript动态的向一个DIV中插入一些个TABLE,Firefox可以正常显示,而在IE下,无论版本是6或7,均无法看到这个TABLE。但是,如果我直接把TABLE的HTML代码写在页面上,一切都能正 ......

字符串中的JSON转换成JAVASCRIPT的OBJECT

// 下面代码块实现了string.parseJSON方法
(function(s){
  // This prototype has been released into the Public Domain, 2007-03-20
  // Original Authorship: Douglas Crockford
  // Originating Website: http://www.JSON.org
  // Originating URL    : http://www.JSON.o ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号