需要帮助来理解JavaScript中":"的用法

Sim*_*mon 2 javascript syntax jquery

我使用jQuery 验证插件,当我遇到下面的脚本,我承认,我不明白jQuery的很多事情:)

请看

$("#invitationform").validate({
        rules: 
        {
            phone: 
Run Code Online (Sandbox Code Playgroud)
  • 项目清单

            {
                required: true,
                minlength: 6,
                number:true
            }
        },
        messages: 
        {
            phone: 
            {
                required: "Please enter a phone number",
                minlength: "Your number must consist of at least 6 digits"
            }
        }
    });
    
    Run Code Online (Sandbox Code Playgroud)

请帮助我了解谁是"规则","电话"在这里?它们是列表元素,还是对象的变量?为什么我们通过以下方式称呼它们?

简短的解释,或一些文档的链接将是非常好的.

非常感谢

Dan*_*llo 13

除了少数基本类型(数字,字符串,布尔值,空和未定义)之外,一切都是JavaScript(甚至是函数)中的对象.

对象基本上是属性的容器,这对于收集和组织数据非常有用.

创建对象的一种常用方法是使用对象文字表示法,其中属性名称通过冒号:符号与值分隔:

var myFirstObject = {
   'name': 'Bobby',
   'surname': 'Smith'
};
Run Code Online (Sandbox Code Playgroud)

如果名称是合法的JavaScript标识符而不是保留字,则属性名称周围的引号是可选的.属性的名称可以是任何字符串.对象可以包含其他对象,因此它们可以轻松表示树或图形:

var myFlight = {
   'airline': 'Airline Name',
   'number': 'AN700',
   'departure': {
      'IATA': 'SYD',
      'time': '2010-09-04 23:10:00'
   },
   'arrival': {
      'IATA': 'LAX',
      'time': '2010-09-05 05:14:00'
   }      
};
Run Code Online (Sandbox Code Playgroud)

JavaScript对象也恰好是一种方便的哈希表数据结构.您可以轻松执行以下操作:

var myHashTable = {};
myHashTable['name'] = 'Bobby';
myHashTable['surname'] = 'Smith';
// subscript notation:
alert(myHashTable['name'] + ' ' + myHashTable['surname']);
// dot notation: (equivalent)
alert(myHashTable.name + ' ' + myHashTable.surname);
Run Code Online (Sandbox Code Playgroud)

jQuery和许多其他JavaScript库经常期望一个对象作为方法的参数.为了向您提供另一个库的示例,这是使用Google Maps API v3构建地图的方式:

var map = new google.maps.Map(document.getElementById('map'), { 
   mapTypeId: google.maps.MapTypeId.ROADMAP,
   center: new google.maps.LatLng(39.904667, 116.408198),
   zoom: 12
});
Run Code Online (Sandbox Code Playgroud)

请注意,由于JavaScript的工作原理,我们可以轻松地将可读复杂结构作为函数参数传递.