> 文章列表 > js函数声明方式*2,对象声明方式*7,不同的调用

js函数声明方式*2,对象声明方式*7,不同的调用

js函数声明方式*2,对象声明方式*7,不同的调用

目录

一、两种函数声明方式

 二、七种对象声明方式


一、两种函数声明方式

【1】命名函数

形如:

function fu1(){
     let firstName = '111111111'
     let lastName ='2222222'

    console.log(firstName ,lastName )
}

function fu2(firstName,lastName ){
     let firstName =firstName
     let lastName =lastName '

    console.log(firstName ,lastName )
}

调用:

fu1            //111111111 2222222

fu2(‘你看我几分像从前’,‘眼里透露着清澈的愚蠢’)    //你看我几分像从前 眼里透露着清澈的愚蠢

【2】匿名函数

形如:

fn3=function(){

 let firstName = '111111111'
 let lastName ='2222222'

 console.log(firstName ,lastName )

fn4=function(firstName,lastName){

 let firstName = '111111111'
 let lastName ='2222222'

 console.log(firstName ,lastName )

 调用:

fu3            //111111111 2222222

fu4(‘你看我几分像从前’,‘眼里透露着清澈的愚蠢’)    //你看我几分像从前 眼里透露着清澈的愚蠢

 二、七种对象声明方式

【1】字面量声明方式

形如:

var obj={

   key1:value1,

   key2:value2

}

调用:

obj.key1

obj.key2 

obj['key1']

obj['key2'] 

【2】new操作符+Object声明对象

var obj=new  Object()

  obj.属性名=属性值;

  obj.方法名=匿名函数;

obj.key1

obj.key2 

obj['key1']

obj['key2'] 

【3】构造函数声明对象

形如:

function test(value1,value2,[argument]){

  this.属性名=value1;

  this.方法名=value2

}

var obj= new test(value1,value2,[argument]])

【4】工厂声明方式

形如:

function test(value1,value2,[argument]){

 var obj=new Object()

  obj.属性名=value1;

  obj.方法名=value2;

}

var obj1= new test(value1,value2,[argument]])

var obj2= new test(value1,value2,[argument]])

调用:同上 

【5】原型声明方式

形如:

function test(value1,value2,[argument]){

test.prototype.属性名=value1

test.prototype.方法名=value2

}

var obj=new test(value1,value2,[argument])

调用:同上 

【6】混合原型和构造函数声明方式

形如:

function test(value1,value2,[argument]){

  this.属性名=value1;

  this.方法名=value2

}

test.prototype.属性名=属性值

test.prototype.方法名=匿名函数

var obj=new test(value1,value2,[argument])

调用:同上  

【7】class类方式声明对象

形如:

class Phone{

  constructor{

   this.属性名:属性值

   this.方法名:匿名函数

}

}

var obj=new Phone()

调用:

obj.属性名

obj.方法名