首页 > "name":function(){}和function name(){}这样的写法有什么区别?

"name":function(){}和function name(){}这样的写法有什么区别?

源代码的结构是这样的:

var vname = {
    "name1":function(){
        ...
    }
    "name2":function(){
        ...
    }
}

这样写的作用是什么?


写成函数表达式,看起来就很优美。


vname是一个js对象
name1是vname成员,类型为函数
name2是vname成员,类型为函数
使用时可以这么用vname.name1()或者vname.name2()


vname是一个json对象,name1,name2作为vname的成员
function name(){}会挂在window对象上

还有一个区别是:

var vname = {
  name1:function(){
    console.log('name1');
  }
}
vname.name1();//name1
vname.name1 = function(){
  console.log('name1 modify');
}
vname.name1();//name1 modify

function name() {
  console.log('fun name');
}

name();//fun name modify
function name() {
  console.log('fun name modify');
}
name();//fun name modify

在vname对象里面,name1, name2是它的属性,name1, name2后面跟的是对应的属性值,不管是什么类型的,都可以通过.name1, .name2来调用;

var vname = {

name: 'luoxue',
age: 18,
getAge: function() {
    return this.age;
}

};

vname.getAge(); // 返回18

把很多方法写在一个对象上,代码结构清晰,利于管理,减少了全局变量,方便继承等等。

【热门文章】
【热门文章】