js定义函数对象有几种方式?

JavaScript011

js定义函数对象有几种方式?,第1张

在JavaScript中定义对象可以采用以下几种方式:

1.基于已有对象扩充其属性和方法

2.工厂方式

3.构造函数方式

4.原型(“prototype”)方式

5.动态原型方式 -- 1.基于已有对象扩充其属性和方法

object.name = "zhangsan"

object.sayName = function(name)

{

       this.name = name

       alert(this.name)

}

object.sayName("lisi") -- 2.工厂方式 

function createObject() 

{

       var object = new Object()

       object.username = "zhangsan"

       object.password = "123"

       object.get = function()

       {

              alert(this.username + ", " + this.password)

       }

       return object

}

var object1 = createObject()

var object2 = createObject()

object1.get()

 -- 采用带参数的构造方法:

function createObject(username, password)

{

       var object = new Object()

       object.username = username

       object.password = password

       object.get = function()

       {

              alert(this.username + ", " + this.password)

       }

       return object

}

var object1 = createObject("zhangsan", "123")

object1.get()

代码:

a={

  val:9,

  fc:function(){

    alert('1')

  }

}

调用a.fc()

原理:

js是弱语言,相对来说语法比较宽松,主要掌握常用的三个对象,函数(function),数组(array或[]定义),对象({}方式定义)。这三者是可以相互组合的,上面也就是一个组合。

比如:

var k=[

  {m1:'2'},

  {m2:function(){}}

]

这个例子就是数组包含对象,对象包含函数。