language help

Discussion in 'Javascript' started by Nan Li, Dec 30, 2005.

  1. Nan Li

    Nan Li Guest

    I was reading the code of Bookburro greasemonkey user javascript. I
    don't understand some of the language features the author has used.

    For example, in the following code,

    var handlers = [
    { name: 'Abebooks.com', id: 'abebooks', hostname: /\babebooks.com$/i,
    getISBN: /(?:isbn|bi)=([0-9X]{10})(&|\?|$)/i,
    bookURL:
    'http://www.abebooks.com/servlet/SearchResults?isbn=%s&pid='+
    abebooks_pid +'&aid='+ abebooks_aid,
    ajaxPrice: /<span class="price">\D*(\$[^<]*)/i },
    { name: 'Ad Libris', id: 'alse', hostname: /\badlibris\.se$/i,
    bookURL: 'http://www.adlibris.se/shop/product.asp?isbn=%s',
    ajaxPrice: function( html, http )
    {
    if( html.match( 'Ingen titel med detta ISBN finns hos AdLibris.'
    ) )
    return '';
    return SEK( html.match( '<span class="price">([^<]*)<' )[1] );
    } },
    ......

    ];

    1. var handlers = [ { .. }, ..., {... } ];
    what does this mean? Is 'handlers' an array?

    2. { name: 'xxx' , id: 'yyy' , ... }
    Is this an associative array?

    I have not seen this kind of js code before. Can any one let me know
    what they are or point me to any good reference books or websites?

    Thanks a lot.
     
    Nan Li, Dec 30, 2005
    #1
    1. Advertising

  2. Nan Li

    web.dev Guest

    Nan Li wrote:
    > 1. var handlers = [ { .. }, ..., {... } ];
    > what does this mean? Is 'handlers' an array?


    Yes, that is a shorthand for creating an array. In this case, it
    appears handlers is an array of 1..n objects.

    > 2. { name: 'xxx' , id: 'yyy' , ... }
    > Is this an associative array?


    The above expression is the syntax for creating an object literal which

    is defined in ECMAScript v3. It allows you to create an object and
    specify its properties. It consists of a comma-separated list of
    colon-separated property/value pairs. So in your above expression, you

    have an object with properties "name" and "id" whose corresponding
    value is "xxx" and "yyy".
     
    web.dev, Dec 30, 2005
    #2
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Ed
    Replies:
    24
    Views:
    1,048
    Dimitri Maziuk
    Mar 27, 2006
  2. DaveInSidney
    Replies:
    0
    Views:
    442
    DaveInSidney
    May 9, 2005
  3. pabbu
    Replies:
    8
    Views:
    756
    Marc Boyer
    Nov 7, 2005
  4. Shravani
    Replies:
    8
    Views:
    822
    Bartc
    Mar 16, 2008
  5. Replies:
    28
    Views:
    1,204
Loading...

Share This Page