javascript - "name":function(){}和function name(){}这样的写法有什么区别?
天蓬老师
天蓬老师 2017-04-11 11:33:20
[JavaScript讨论组]

源代码的结构是这样的:

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

这样写的作用是什么?

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全部回复(4)
阿神

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
PHP中文网

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

黄舟

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

var vname = {

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

};

vname.getAge(); // 返回18

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

天蓬老师

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号