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

《悟透javascript》学习笔记:九、原型毕露

引言
 
      prototype源自法语,软件界的标准翻译为“原型”,代表事物的初始形态,也含有模型和样板的意义。
 
prototype属性
 
JavaScript的所有function类型的对象都有一个prototype属性。这个prototype属性本身又是一个 object 类型的对象,因此我们也可以给这个 prototype 对象添加任意的属性和方法。既然 prototype是对象的“原型”,那么由该函数构造出来的对象应该都会具有这个“原型”的特性。事实上,在构造函数的prototype上定义的所有属性和方法,都是可以通过其构造的对象直接访问和调用的。也可以这么说,prototype提供了一群同类对象共享属性和方法的机制。运行如下代码,然后观察。
 
<script language="javascript">
function person(name){        //构造函数person
   this.name = name;
   //this创建出的对象,每一个副本都会包含其属性和函数
   this.say = function(){alert("hello, i'm " + this.name);}
}
//prototype创建的函数对象,所有的副本共享同一个函数
person.prototype.show = function(){alert("hi~~, i'm " + this.name);}
 
var p1 = new person("p1");
var p2 = new person("p2");
alert(p1.say == p2.say); //false,没共享函数
alert(p1.show == p2.show);  //true,共享函数
</script>
 
原型链
 
<script language="javascript">
function person(name){
   this.name = name;
}
person.prototype.say = function(){alert("hello, i'm " + this.name);}
 
function employee(name, salary){
   //调用person作为employee的构造函数——重点
   person.call(this, name);      //目的是继承person的属性
   this.salary = salary;
}
//子类构造函数首先需要用上层构造函数来建立 prototype对象,实现继承的概念——重点
employee.prototype = new person(); //目的是继承person的方法,只需要其 prototype 的方法,此对象的成员没有任何意义!
employee.prototype.showMoney = function(){alert(this.name + "'s salary is " + this.salary);}
 
var bill = new pers


相关文档:

在Javascript中创建对象

在Javascript中没有class类,但是同样也可以进行对象的创建。在面向对象的语言中需要实例化某个具体类的实例,在Javascript中则不用。
在Javascript里,对像可以创建新的对象,也可以继承自其他对象。这个概念称为原型化继承(prototypal inheritance)。
任何函数在Javascript 中都可以被实例化一个对象。
程序如下:
// ......

Javascript函数中调用C#方法

一、后台(.cs文件)方法:
       public string GetString(string name)
        {
            return ("Hello " + name);
        }
&n ......

javascript 合并数组

<html>
<body>
<script type="text/javascript">
var arr = new Array(3)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
var arr2 = new Array(3)
arr2[0] = "James"
arr2[1] = "Adrew"
arr2[2] = "Martin"
document.write(arr.concat(arr2))
</script>
</body>
</ ......

JavaScript 创建数组的方法和基本操作

数组是我从学习编程以来打交道最多的一种数据类型,其实说白了,数组无非就是key value对。还记得刚参加工作那会,一个php的foreach循环就差点搞得我吐血,现在回头想想,当时自己真够笨的。
数组(array)是一种数据类型,它包含或者存储了编码的值,每个编码的值称作该数组的一个元素(element),每个元素的编码被称作下 ......

javascript中获取一个字符串中 特定字符串的个数

//统计字符串中特定字符串的个数
function getStrCount(scrstr,armstr)
{ //scrstr 源字符串 armstr 特殊字符
 var count=0;
 while(scrstr.indexOf(armstr) >=1 )
 {
    scrstr = scrstr.replace(armstr,"")
    count++;   
 }
 re ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号