经过了1个多月的紧张加班工作,项目终于在2010.5.1完成了..在整个过程中,由于项目量大,历史问题多,制作修改时间短,等因素..搞得很累。这几天闲下来没啥事,趁着前些日子的热乎劲,我再看看书,和实际工作中的问题结合的整理一下,给自己留个记录,给新手朋友们做个借鉴,这是一个系列的文章,先从javascript的面向对象、js的一些高级技巧 、排错方法、常用代码和工具、到AJAX相关的内容进行记录,大部分是从书中摘要的,毕竟还是人家的东西更系统些。...哥们文笔不咋地,争取做到思路清晰,排版清楚...

 

一.javascript 面向对象

1. 在面向对象中,最核心的一个概念就是 。 一个类表示了具有相似性质的一类事物的抽象,通过实例化一个类,可以获得属于该类的一个实例。

 

2. new 可以获取一个实例。

 

3. 在js中,函数和类就是一个概念,当对一个函数进行new操作时,就会返回一个对象。如果这个函数中没有初始化类成员,那就会返回一个空的对象。

//定义一个类
 
         function hello(){
 
             alert("hello");
 
         } 
          
         var obj =  new hello(); 
         alert(typeof(obj));

4. eval函数的性质,执行一段动态生成的代码,并返回结果。

 

5.  动态添加、修改、删除对象的属性和方法

    a. 创建类   

  

var user=new objec();

 

 b. 添加属性

user.name = "chaolive007";
         user.age    = 29l
         user.sex    = "male";

   c. 添加方法

    

user.alert = function(){
                 alert("my name is :" + this.name);

   d. 修改属性和方法

  

user.name = "007Chaolive";
         user.alert  = function(){
                 alert("hello , " + this.name);
         }

   e. 删除属性和方法

user.name = undefinded;
         user.alert  = underfinded;

 

6. 使用 {} 创建无类型对象

<script type="text/javascript">
var obj={};
var user={
      name:"chaolive007",
      favoriteColor:["red","qreen","white"],
      hello:function(){alert("hello,  this.name");},
      sex:"male"
}
</script>

 

注1:var obj={}; 等价于 var obj =  new Object();

注2:无类型对象提供了一种创建对象的简便方式,他以紧凑和清晰的语法将一个对象体现为一个完整的实体。这对javascript来说尤其重要,减少体积意味着提高了访问速度。

 

7.prototy原型对象

prototy对象是实现面向对象的一个重要机制,每个函数都具有一个子对象prototype.它表示了一个类的成员的集合。