js常用对象与面向对象

来源:互联网 发布:lg照片打印机的软件 编辑:程序博客网 时间:2024/04/30 21:36
js对象

文章引用~~~http://blog.csdn.net/wjc19911118/article/details/7293702

js中的内置对象 

Prototype(适合每个js对象)使您有能力向对象添加属性和方法。

       对象:是属性和方法组合,完成一定功能。(你的小汽车)

      

       属性:对我们的对象基本特征的描述  (汽车的颜色)

       方法:对我们的对象功能的描述(能解决什么问题) (汽车的刹车系统、动力系统)     

     

2、js中的String对象

   1、内置的

   2、属性: length  计算字符串的长度

3、方法: indexOf() 查找子字符串(匹配字符串)str.indexof(“匹配字符”);

            查找到了,返回 字符串 出现的位置

           没找到    返回 -1

          

            charAt(“数字“) 返回指定位置的字符串

                                                第二个位置 长度

           substr() 字符串的截取,可加两个参数,形如:substr(2,2)

                               也可以是一个参数 ,则表示从这个截取到字符串结束

                           

           toLowerCase() 把字符串转换为小写

          

          

3、js中Math 对象

   1、属性Math.PI 3.1415

   2、方法abs() sin csin 

      random() 产生0~1之间随机小数

     

      产生随机的整数:Math.round()

      产生m-n之间的整数:

                  Math.round(Math.random()*(n-m)+m)

                

                

4、js中的Date对象

   1、js中没用常用的属性

   2、方法

      setXXX 表示 设置某个时间或者日期

      getXXX 表示 获取某个时间或者日期

     

      getDay() 获得一周中的某一天 (0~6)

      getFullYear() 获取完整的四位年

      getMonth() 获取的是月份 (0~11)

      getDate() 获取月中的某一天(1~31)

5、数组对象 array

     concat()   连接多个数组,并返回结果

    join(“连接符“)       讲一个数组的所有的值用给定的连接符连接

    push()    想数组的尾部添加元素

    reverse()  颠倒数组中元素的顺序

    shift()    删除并返回数组的第一个元素

    unshift()   想数组的开头添加元素,并返回新的长度

    sort()    数组的排序

    splice()   删除元素并向数组中添加新的元素

    slice(start,end)   从数组中返回选定的元素

    toString()     把数组转换成字符串,并返回结果

三、Js面向对象

var   声明的属性为私有属性

this  声明的属性为公有属性

静态的成员:静态的成员只属于本类或本对象,类名(对象名).属性(方法)

系统只有识别到new关键字时才给该对象非配内存空间

创建对象的第一种方式

----------------------------------------------

//定义一个类,用的是function 而不是class

    function Class1(){

           //定义两个属性

            this.x = 1;

            var y = 2;

            //定义方法

            this.method = function(){

                  alert("属性"+this.x);

                  alert("属性"+y);

               }

       }

    //实例化对象,只有出现new了才在内存中分配存储空间

    var obj1 = newClass1();

    //对象访问属性 1、对象.属性名    2、对象["属性名"]

    //alert(obj1.x);

    //alert(obj1["x"]);

    obj1.method();

   

-------------------------------------------------

第二种方式

//通过 new Object()  (object)超基类,通过它可以得到一个空白的对象

    var obj=newObject();

    obj.name="凤姐";

    //alert(obj.name);

   

    obj.prom =function (){

           alert(obj.name);

       }

    obj.prom();

   

   

-------------------------------------------------

第三种方式

//通过 先创建一个空的类(函数)

      

    function Class(){

      

    }

    var obj = newClass();

    obj.name="凤姐";

    //alert(obj.name);

   

    obj.prom =function (){

           alert(obj.name);

       }

    obj.prom();

   

   

-------------------------------------------------

第四种方式

//使用 prototype 属性向类中添加属性和方法

    //定义类

    function c(){}

    //给类通过prototype添加属性和方法

    c.prototype.name ="张三";

    c.prototype.show =function (){

           alert("klkl");      

       }  

    var obj1 = newc();

    alert(obj1.name);

Js中的构造方法

Js中的构造方法是在本类中声明并且自己调用自己,在为成员属性赋初值时和调用函数一样传参数就可以了

//自己模拟一个构造方法

   

    functionclass1(name){

       this._name;

       this.construct= function (name){

               this._name=name;

           }

       this.construct(name);

       }

      

    //实例化对象

    var obj = newclass1("李四");

    alert(obj._name);

Json

    Json格式: var str=”[{属性名:‘属性值‘ , 属性名:‘属性值‘},{属性名:‘属性值‘ , 属性名:‘属性值‘}]”;

    用eval将json字符串转换为数组

    定义一个json格式的字符串

    varstr="[{id:'1',name:'八戒'},{id:'1',name:'凤姐'}]";

    将json格式的字符串转换为  对象

    var  obj = eval("("+str+")");

for(var i=0; obj.length; i++){

           alert("id"+obj[i].id+"name"+obj[i].name);

       }

原创粉丝点击