漫漫技术人生路

C#

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

function student(name)
{
  this.name = name;
  this.study = function(){alert(this.name+"bad");};
}

//student.prototype ={study:function(){alert(this.name+"bad");}}
//student.prototype.study =function(){ alert(this.name+"bad")};//can't inheritance

 

function boy(name)
{
 student.call(this,name);
}

function girl(name)
{
  student.apply(this,arguments);
}
//boy.prototype.love = function(){alert("love beauty");};

var b= new boy("jim");
girl.prototype = new student;

girl.prototype.love= function(){alert("love handsome");};
//new student("jim").study();
//boy.apply(new student("jim").study());
//b.love();
b.study();

var g =new girl("mery");

g.love();

 

function senior(name)
{
  student.call(this,name);
}

senior.prototype = new student;//the critics

senior.prototype.love=function(){alert("older can't love");};

var sn =new senior("jack");

sn.study();

//----------------------
//scope 作用范围 

 


function makeClosure(x)
{    return function(){ alert(x.val); }
}
var x = {val:5};
var alertX1 = makeClosure(x);
x.val = 10;
var alertX2 = makeClosure(x);
alertX1(); // 10
alertX2(); // 10
//
var globalClass = {val:4};
function classAndPoint(globalClass)
{
  return function(){alert(globalClass.val);};
}

function classAndPoint2()
{
  return function(){alert(globalClass.val);};
}

var transfer2= classAndPoint2();

transfer2();
globalClass.val =10;
var transfer= classAndPoint(globalClass);
transfer();

 

//-------------------------------------------------------------------------------
function Obj()
   {
       this.value="对象!";
   }
   var value="global 变量";
   function Fun1(){
       alert(this.value);
   }
 //  window.Fun1();
   Fun1.apply(window);
   Fun1.call(window);
  // Fun1.apply($('myText'));
   Fun1.apply(new Obj());
   //---------------------------------------------------------------------------
  
 

posted on 2006-12-09 15:54  javaca88  阅读(140)  评论(0)    收藏  举报