JS基础学习(四)

来源:互联网 发布:php网站整站源码下载 编辑:程序博客网 时间:2024/06/05 20:39
一:构造函数

//构造函数用来创建一个对象

                         function Person(name ,sex,age){

                                  this.age=age;//如果是age=参数,age并不是这个对象的值因为这个函数中没有,去上一层找,表示的是window.name。

                                  this.name=name;

                                  this.sex=sex;

                         }

                         var a=new Person("张三","男",18);//创建一个对象a并初始化

                         var b=new Person("李四","男",15);//创建一个对象b并初始化

                         var c=new Person("王二","男",16);//创建一个对象c并初始化

                         console.log(a.name);

                         console.log(b.name);

                         console.log(c.name);

console.log(ainstanceof Person);//用来测试A是不是为person类的对象。

10:原型

(1)  原型对象prototype,每一个函数对象都有一个隐藏的prototype对象,普通函数一般不显示。(2)原型对象相当于一个公共的区域,用来存放所有对象共有的方法和属性。(3)我们创建对象的时候可以把公有的对象,属性和方法都存在prototype对象中。

function Person(name ,age ,sex){

       this.name=name;

       this.age=age;

       this.sex=sex;

    };

    Person.prototype.SayName=function(){

       console.log(this.name);//这个方法为Person这个构造函数创建对象所共有。

      

    }

    var zhangsan=new Person("张三",20,"");//创建张三这个对象

    var lisi=new Person("李四",18,"");//李四张三这个对象

    zhangsan.SayName();

    lisi.SayName();

11:垃圾回收

Var Obj=new Object();

Obj=null//当我们把对象置空的时候,就没有任何变量对其引用了,他在堆内存中的空间就会被垃圾回收机制当做垃圾回收,把内存释放掉,此时对象也会在内存中销毁。

 

2:数组

(1)//数组存放同一类数在C C++ 例如整形数组 int a[10]

           //在JS中数组为一个对象我们创建一个数组调用其构造函数

           var arr=new Array();//创建一个数组,数组为一个连续的存储空间,在JS中数组的长度是最后一个索引的位置+1

           arr[0]=1;

           arr[1]=2;

           arr[10]=5;//那么此时数组长度为10,

           arr[arr.length]=10;

           arr.length=5;//我们可以自己设置数组的长度

           console.log(arr);

(2) 数组定义:

     var arr=new Array(1,2,3);//创建一个数组并赋给初始值。

     arr=[1,2,3,4,5,6]//创建一个数组,赋给多个初始值,在JS中数组的长度不固定的,长度修改意义不大。

           //在 c c++ JAVA 中数组放置同一类型的值,在JS中可以放任意类型的数据

    a=["hello",true,null,undefined,NaN,Object,function(){console.log("123")}]   

       b=[{name:"李白",age:17},{name:"李二",age:11}]//放对象

       console.log(b);

       console.log(a)

(3)数组的方法

//数组的常用方法

     a=[1,2,3,4,5,6]

    a.push("name","age");//push()方法在数组最后插入一个或者多个数组,返回值为数组的长度。

     console.log(a);

     a.pop();//pop()方法取出数组最后一个值并返回这个数值

    console.log(a.pop());   

     a.unshift("df","ce");

     console.log(a);//unshift方法在数组的开头插入数据,并返回数组的长度。

     a.shift();

     console.log(a);  //shift()方法删除数组第一个数值,并作为返回值返回。 

(4)数组遍历。

 

  function Person(name,age,sex){

          this.name=name;

          this.age=age;

          this.sex=sex;

        }

        var per1=new Person("张三",20,"");

        var per2=new Person("李四",18,"");

        var per3=new Person("王二",10,"");

        a=[per1,per2,per3];

        //console.log(a[0].sex);

        for(var i=0;i<a.length;i++)

        {

          if(a[i].age>=18)

          {

             console.log(a[i]);

            }

        }

//循环遍历数组

//使用forEach()方法遍历数组。方法的参数为函数对象

    

       a.forEach(function(a,b,c){

          console.log(c);//a数组中的元素(第一个参数),b表示数组的下标(第二个参数),c表示当前的数组(第三个参数)

         

       })

 


原创粉丝点击