JavaScript(2)——对象

自定义对象:

创建对象:

1.  构造函数方式创建

构造函数的定义

Function 类名(参数1,参数2)

{

   This.city=参数1;

   This.year=参数2

   This.show=function()

}

调用:

Var  a=new 类名(1,3);

说明:

l  构造函数通过 new来调用

l  构造函数的this值为new调用时传入的对象a

l  构造函数主要完成属性的初始化,不返回值

 

2.  JSON方式创建:

        var objectA = {

            name: "myName",

            age: 19,

            school:

            {

                college: "大学",

                "high school": "高中"

            },

            like:["睡觉","C#","还是睡觉"]

        }

比较:

创建对象也可以不定义构造函数直接通过 json格式创建对象,但相比起json方式,构造函数可以声明确定的类名和初始参数。感觉json更多的应该是前后台数据的传递,在js中定义还是使用构造方式比较合适

属性和方法

在对象中有四种内容:对象属性,对象函数,类属性,类函数。

类属性代表对于该类的所有对象该属性唯一或常量属性。

        Circle.pi=Math.PI;

常见属性代表大部分对象该值相同,但对于特殊对象可以修改该值。如当类中的属性有一个非常常用的默认值,则可以在原型对象中定义该属性和它的默认值,然后不想使用默认值的少数对象创建自己的非共享属性。

Circle.prototype.x=0;   //定义属性的默认值

c.x=5;                          //特殊对象可以修改该值

类函数代表不需要定义对象就可以调用的函数。

        Circle.message=function() { alert(‘ssss’)}

对象属性代表每个对象值都不相同的属性。

        Var c=new Circle(3);     //通过构造函数创建

        通过json格式创建

对象函数代表其中会用到this的函数,也即需要访问对象属性的函数,如:

        Circle.prototype.area=function() { return this.pi*this.r*this.r}

访问属性:

       [].得区别:

              []其中可以是字符串,或者包含“.;属性名称动态实现时,如循环遍历

综合实例

//构造函数
function Circle(x,y,r) {

        this.x=x;

        this.y=y;

        this.r=r;

}

// 静态函数
Circle.msg=function() {

        return "半径是";

}


Circle.prototype.x=0;  //常见属性

Circle.prototype.y=0;

//对象函数
Circle.prototype.area=function() {

        return Math.PI*this.r*this.r;

}

//调用函数
function loadHandler() {

        var c=new Circle(4,4,5);

        alert(c.area()+"  "+Circle.msg());

}

闭包的实现

     模块化和减少全局变量,相当于加上了 范围修饰符

   

var myApplication = function(){
   var name = 'Chris';
   var age = '34';
   var status = 'single';
   function createMember(){
      // [...]
   }
   function getMemberDetails(){
     // [...]
   }
   return{
      create:createMember,
      get:getMemberDetails
   }
  }();
  //调用方式 myApplication.get()和 myApplication.create() 就行了。

内建对象

String  Math  Date  Array  Event  RegExp (正则表达式) Error(用于异常处理)

全局 RegExp 对象的属性包含最近进行查找的信息,而正则表达式对象只包含出现正则表达式匹配的信息。

数组:  var a=new Array(12);
Math:  包括数学中预定于的常量和功能。 
     var scrollTop=Math.max(doc.documentElement.scrollTop, doc.body.scrollTop );
     通过这种方法获取 scrollTop的值,根据docType的不同,其中一个是undefined
Date
Number: 
JSON:  parse 和 stringify
Error    throw new Error(200,"错误")      try {} catch(e) {  e.name  e.message}

正则表达式:

  转义字符,字符类(\w \d,重复({m,n} * ? +)只匹配一次(加?,分组(| ()),

  指定匹配的位置($ ^ (?=) (?!) \b  \B)标志(ig, m

 使用:

         search(返回第一个下标) replace(替换第一个或所有) split

Image对象保存图片

setTimeout(func,time_ms,[paras]) 定时执行函数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值