BKJVSCDG.RVW 20000425 "JavaScript: The Definitive Guide", David Flanagan, 1998, 1-56592-392-8, U$39.95/C$56.95 %A David Flanagan %C 103 Morris Street, Suite A, Sebastopol, CA 95472 %D 1997 %G 1-56592-392-8 %I O'Reilly & Associates, Inc. %O U$39.95/C$56.95 800-998-9938 fax: 707-829-0104 nuts@ora.com %P 776 p. %T "JavaScript: The Definitive Guide", 3rd edition The introductory tutorial section of the first edition was almost completely removed in the second version. There was still explanatory material, of course, but it was very definitely aimed at the experienced programmer. While there is nothing to inherently preclude the "definitive" claim, the style of the book is much closer to "JavaScript in a Nutshell." This format and style is maintained in the third edition. The book is divided into "core JavaScript", "client-side JavaScript", and a reference section. "Client-side" scripting is, of course, interpreted and run by the client, or browser. Many servers are now capable of using JavaScript in server side processing, as a replacement or enhancement for CGI (Common Gateway Interface) programming. Thus the division into the core functions, which can be interpreted by either client or server, and the Web page specific, or some advanced, functions which can only be handled by the client. The reference, taking up approximately half of the book, is as one would expect. Part one, on the core language, covers lexical structure, data types, variables, expressions and operators, statements, functions, objects, arrays, regular expressions, and advanced topics. Part two looks at Web browsers, windows and frames, the Document Object Model (DOM), events, forms, Dynamic HTML (DHTML), cookies, compatibility, LiveConnect (access to Java applets), and JavaScript security. Flanagan has collected, and presents, a good deal of solid information about JavaScript. However, the material can be oddly uncritical. Flanagan notes, for example, that JavaScript is more functional than might be indicated by the "script" term, and is a full object-oriented programming language, with all the complexity required by that type of entity. Some of the intricacy involved in using JavaScript, though, arises from inconsistencies in approach. It is fairly clear that JavaScript was partly intended to be simple, and partly intended to be capable. JavaScript security also gets the benefit of the doubt. The claim to definitive status is quite supportable, however. Flanagan presents all kinds of information about the oddities of the language, weird behaviours that arise from interpretations of variables and operators. The book reveals the internals of the language (or languages, given the number of variants), which are bewildering in their complexity. copyright Robert M. Slade, 1996, 1997, 2000 BKJVSCDG.RVW 20000425