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

javascript 原型对象与prototype的关系

    Javascript中的继承机制是所谓的原型对象继承,通过属性访问机制的特殊性来实现继承的。之前我一直以为所有对象的原型对象就是prototype所指的那个对象。后来在看javascript设计模式的时候发现作者注中有一句话与我之前的理解不同,他说“每个对象都有一个原型对象,但这并不意味着每个对象都有一个prototype属性”。看完我就有点迷茫了,决定彻底把这个死人的原型继承搞搞清楚。然后翻了些文章和书籍,最后终于在javascript权威指南第五版中找到了个人 认为比较权威的解释。关于原型链和属性访问机制我就不再阐述了,这方面可以看看Rocky的文章 写的蛮清楚的 http://blog.csdn.net/rocky_j2ee/archive/2009/03/21/4012385.aspx
    那我们先从创建对象说起,用new操作符创建对象的时候javascript会做3件事:
首先是创建一个空对象(empty object),
然后对这个空对象的原型对象进行赋值,
最后把这个空对象赋值给构造函数的this属性且运行这个构造函数。
function Person(name) {
    this.name = name;
}
var  p = new Person(); 相当于以下步骤:
1. Var p = {};
2. p.[[prototype]] = Person.prototype   //这一步是伪代码,实际上一个对象的原型对象是不能通过代码来访问的,
                                                              //这里只是为了说明创建对象的步骤
3. p.methodName = Person                   //这样的话Person的this就会指向p
   p.methodName();
      如果你对第二步不是很明白,那么先把代码放一放,接下来我会详细解释下第二步原型对象的赋值(或者说构造函数和原型对象的关系):
      上面我提到过在创建完一个空对象后,会初始化这个空对象的原型对象,javascript会把构造函数的一个叫做prototype的属性所指向的对象赋值给当前空对象的原型对象。所有的function都有一个prototype属性,当一个function被定义之后这个属性会被自动的创建和初始化。一个function 的prototype属性的初始值是一个对象(an object),这个对象只有一个属性叫


相关文档:

一家之言:说说 JavaScript 的类成员的访问控制

看书的时候遇到这样一个问题,程序代码如下
var ob = function(){
var obj = this;
function fn1(){
alert( obj === window );//false
alert( this === window );//ture
}
this.fn2 = function() {
fn1();
}

当时很不明白fn1里面第二个alert的结果,为 ......

javascript常用

calcu()  ----函数实现两个数相乘
document.write();  ---打印
document.calc.元素名.value;  --获得表单的值
document.表单名。表单元素名。value  为表单赋值
定义函数:
 function  名字()
 {
    //javaScript预语句
 }
 onClick="函数名";  ......

Javascript 的词法作用域、调用对象和闭包

作用域 Scope
Javascript 中的函数属于词法作用域,也就是说函数在它被定义时的作用域中运行而不是在被执行时的作用域内运行。这是犀牛书上的说法。但“定义时”和“执行(被调用)时”这两个东西有些人搞不清楚。简单来说,一个函数A在“定义时”就是 function A(){} 这个语句执行的时候就 ......

用javascript显示XML


用javascript显示XML
 
 
你可以用JavaScript显示XML。可以用JavaScript (或 VBScript)从一个XML文件中输入数据并在一个HTML页面内显示XML数据。 要看看XML和HTML是如何相互补充的,可以这样做:首先找到XML 文档(note.xml),然后打开HTML文档
 
  (note.htm),这个HTML文档中包含了阅读X ......

JavaScript利用DOM给页面添加内容

自定义一个log函数,输出传入函数的对象或者信息.
Log.js
// JScript source code
function
log(category, message, object) {
// If this category is explicitly disabled, do nothing
if
(log.options[category + "Disabled
"]) return
;
// Find the container
var
id = categ ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号