Javascript中的逗号

Commas in Javascript

本文关键字:Javascript      更新时间:2023-09-26
<script>
(function() {
$('html').addClass('js');
var contactForm = {
    container: $('#contact'),          <-- THIS COMMA
    init: function() {
        $('<button></button>', {
            text: 'Contact Me'
        })
            .insertAfter('article:first')
            .on('click', this.show);
    },  <---------------------------------- AND THIS COMMA
    show: function() {
        contactForm.container.show();
    }
};
contactForm.init();
})();
</script>

在上面的脚本中,我注意到:

container: $('#contact'),

这是声明变量的一种方法吗?执行以下操作会中断脚本:

var container = $('#contact');

另外,init 函数和容器变量(如果是变量)后面的逗号是怎么回事?

这样

你声明一个对象:

var contactForm = {
    // properties:
    property1 : value,
    property2 : value,
    property3 : value,
    // methods:
    method1 : function() {
        // ...
    },
    method2 : function() {
        // ...
    }
};

你可以在 MDN 中找到更多关于 JavaScript 对象的信息......并在下面的评论中:)

该代码块(以 var contactForm = { 开头)使用对象文字表示法声明对象。逗号分隔对象文字表示法中的不同键值对。

var obj = { key1: value1, key2: value2 };

定义对象时,逗号用于分隔名称/值对:

var newObj = {
  name: value,
  another_name: another_value
};

称为对象文字表示法。

它基本上是一个逗号分隔的名称/值对列表,用大括号括起来。

这种表示法的优点是大括号内的所有数据都是封装的,而不是全局定义的,这避免了与其他脚本或库的冲突。

这些

是您定义的对象的key:valuecontactForm,用逗号分隔

var obj = { key1 : value1, 
            key2 : value2
            method1 : function(){
              // definition
            },
            method2 : function(){
              // definition
            }
}

早期让我感到困惑的是,在变量(在本例中为对象)定义中function(){....}做什么,直到我发现函数在 js 中也是对象,这可能与您之前使用的语言不同。

这个没有名称function(){....}函数称为匿名函数。

这是关于匿名函数的一个很好的线程 为什么需要在同一行上调用匿名函数?