ebook img

Advanced JavaScript PDF

617 Pages·2008·5.691 MB·English
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Advanced JavaScript

Advanced JavaScript ™ Third Edition Chuck Easttom Wordware Publishing, Inc. LibraryofCongressCataloging-in-PublicationData Easttom,Chuck. AdvancedJavaScript/byChuckEasttom.--3rded. p. cm. Includesindex. ISBN-13:978-1-59822-033-9(pbk.) ISBN-10:1-59822-033-0 1. JavaScript(Computerprogramlanguage). I. Title. QA76.73.J39E372007 005.13'3--dc22 2007012641 CIP ©2008,WordwarePublishing,Inc. AllRightsReserved 1100SummitAvenue,Suite102 Plano,Texas75074 Nopartofthisbookmaybereproducedinanyformorby anymeanswithoutpermissioninwritingfrom WordwarePublishing,Inc. PrintedintheUnitedStatesofAmerica ISBN-10:1-59822-033-0 ISBN-13:978-1-59822-033-9 10 9 8 7 6 5 4 3 2 1 0708 JavaScriptisatrademarkofSunMicrosystems,Inc.intheUnitedStatesandothercountries. Otherbrandnamesandproductnamesmentionedinthisbookaretrademarksorservicemarksoftheir respectivecompanies.Anyomissionormisuse(ofanykind)ofservicemarksortrademarksshouldnotbe regardedasintenttoinfringeonthepropertyofothers.Thepublisherrecognizesandrespectsallmarksused bycompanies,manufacturers,anddevelopersasameanstodistinguishtheirproducts. Thisbookissoldasis,withoutwarrantyofanykind,eitherexpressorimplied,respectingthecontentsof thisbookandanydisksorprogramsthatmayaccompanyit,includingbutnotlimitedtoimpliedwarrantiesfor thebook’squality,performance,merchantability,orfitnessforanyparticularpurpose.NeitherWordware Publishing,Inc.noritsdealersordistributorsshallbeliabletothepurchaseroranyotherpersonorentitywith respecttoanyliability,loss,ordamagecausedorallegedtohavebeencauseddirectlyorindirectlybythisbook. AllinquiriesforvolumepurchasesofthisbookshouldbeaddressedtoWordwarePublishing,Inc., attheaboveaddress.Telephoneinquiriesmaybemadebycalling: (972)423-0090 ContentsSummary (cid:1) iii Contents Summary Chapter1 IntroductiontoJavaScript . . . . . . . . . . . . . . . . . . . . . . . 1 Chapter2 GettingStartedwithJavaScript. . . . . . . . . . . . . . . . . . . . 13 Chapter3 JavaScriptFundamentals . . . . . . . . . . . . . . . . . . . . . . . 20 Chapter4 Object-OrientedProgramming . . . . . . . . . . . . . . . . . . . . 47 Chapter5 FunctionsandVariableScope. . . . . . . . . . . . . . . . . . . . . 53 Chapter6 UtilizingJavaScriptOperators . . . . . . . . . . . . . . . . . . . . 67 Chapter7 EventsinJavaScript . . . . . . . . . . . . . . . . . . . . . . . . . . 91 Chapter8 BuildingandExtendingObjects. . . . . . . . . . . . . . . . . . . 104 Chapter9 Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 Chapter10 TimeandDateinJavaScript . . . . . . . . . . . . . . . . . . . . . 150 Chapter11 JavaScriptMath. . . . . . . . . . . . . . . . . . . . . . . . . . . . 182 Chapter12 HandlingStrings . . . . . . . . . . . . . . . . . . . . . . . . . . . 217 Chapter13 TheDocumentObjectModel. . . . . . . . . . . . . . . . . . . . . 233 Chapter14 TheDocumentObjectModel(Continued). . . . . . . . . . . . . . 240 Chapter15 UtilizingtheStatusBar. . . . . . . . . . . . . . . . . . . . . . . . 247 Chapter16 URLsandJavaScript . . . . . . . . . . . . . . . . . . . . . . . . . 265 Chapter17 TheDocumentObjectandtheHistoryList . . . . . . . . . . . . . 289 Chapter18 Forms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307 Chapter19 Links,Anchors,andImageMaps . . . . . . . . . . . . . . . . . . 372 Chapter20 ImplementingCookies . . . . . . . . . . . . . . . . . . . . . . . . 382 Chapter21 ImagesandGraphics. . . . . . . . . . . . . . . . . . . . . . . . . 414 Chapter22 Frames. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 483 Chapter23 EvaluationandCompilation . . . . . . . . . . . . . . . . . . . . . 508 Chapter24 JavaScriptAuthoringTools . . . . . . . . . . . . . . . . . . . . . 516 Chapter25 Plug-ins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 521 Chapter26 StyleSheets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 532 Chapter27 SecurityIssues . . . . . . . . . . . . . . . . . . . . . . . . . . . . 539 Chapter28 DebuggingScripts . . . . . . . . . . . . . . . . . . . . . . . . . . 545 iv (cid:1) ContentsSummary AppendixA HTMLPrimer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 554 AppendixB JavaScriptObjectSpecificationSyntax. . . . . . . . . . . . . . . 560 AppendixC ASCIICharacterSet. . . . . . . . . . . . . . . . . . . . . . . . . . 578 AppendixD OnlineResources. . . . . . . . . . . . . . . . . . . . . . . . . . . 582 Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 584 Contents (cid:1) v Contents Acknowledgments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxi Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxii Chapter1 Introduction to JavaScript . . . . . . . . . . . . . . . . . 1 TheWorldWideWeb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 CompetitionontheWeb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 ExtendingHTML. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Plug-ins,Applets,andASP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Plug-ins. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 JavaApplets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 ASPandASP.Net . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 WhatIsJavaScript? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 WhoCanBenefitfromJavaScript?. . . . . . . . . . . . . . . . . . . . . . . . . . . 6 TheHistoryofJavaScript. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 JavaScriptinaBrowser. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Client-sideJavaScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 BrowserObjects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 WhatCanJavaScriptDo?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 ImageEffects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Games . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Banners. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 FormValidation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Miscellaneous . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 JavaScriptandJava. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 JavaScriptResemblesJava. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 JavaScriptDiffersfromJava. . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Chapter2 Getting Started with JavaScript. . . . . . . . . . . . . . 13 EssentialAuthoringTools. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 ChoosingaTextEditor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 ChoosingaBrowser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 BasicJavaScriptStructure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 The<SCRIPT>Tag. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 InternalScripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 ExternalScripts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 EventHandlers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 ShortStatements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 HidingtheScriptforOldBrowsers. . . . . . . . . . . . . . . . . . . . . . . . 18 ImportantNotesaboutJavaScript . . . . . . . . . . . . . . . . . . . . . . . . . . 18 Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 vi (cid:1) Contents Chapter3 JavaScript Fundamentals . . . . . . . . . . . . . . . . . 20 “Building”aScript. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 DataTypesinJavaScript. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 TheValueNull . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Identifiers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 NamingConventions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 VariableDeclaration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 JavaScriptEntities. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 TypeConversion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 MixingStringsandNumbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 Literals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 IntegerLiterals. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 DecimalIntegers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 OctalIntegers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 HexadecimalIntegers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 ConvertingfromDecimaltoOtherBases. . . . . . . . . . . . . . . . . . . 28 ConvertingfromaSpecifiedBasetoDecimal. . . . . . . . . . . . . . . . . 29 ReferringtoOctalandHexadecimalIntegers. . . . . . . . . . . . . . . . . 29 Floating-PointLiterals. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 BooleanLiterals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 StringLiterals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 Operators. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 Statements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 MultipleStatements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 NestedStatements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 EvaluatingExpressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 TestingEvaluation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 Functions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 FunctionDefinition. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 CallingFunctions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 ControlStructures. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 DialogBoxes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 AlertBoxes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 ConfirmBoxes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 PromptBoxes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 ConditionalStatements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 ifStatement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 elseStatement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 Nestedif-elseStatements . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 LoopStatements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 forStatement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 whileStatement. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 Chapter4 Object-Oriented Programming. . . . . . . . . . . . . . . 47 Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 Syntax. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 Syntax. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 UsingtheArrayNotation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 Contents (cid:1) vii ObjectOrientedvs.ObjectBased . . . . . . . . . . . . . . . . . . . . . . . . . . 52 Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 Chapter5 Functions and Variable Scope. . . . . . . . . . . . . . . 53 VariableScopeandStorageClass. . . . . . . . . . . . . . . . . . . . . . . . . . . 53 VariableScope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 VariableStorageClass. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 FunctionParameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 WhatAreFunctions? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 DefiningandCallingFunctions . . . . . . . . . . . . . . . . . . . . . . . . . . 60 FunctionParameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 UsingtheargumentsArray . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 CreatingFunctionswithDefaultArguments. . . . . . . . . . . . . . . . . . . 62 ReturningaValue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 Recursion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 Chapter6 Utilizing JavaScript Operators . . . . . . . . . . . . . . 67 OperatorCategories. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 MathematicalOperators. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 Addition. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 Subtraction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 Multiplication. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 Division. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 Modulus. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 TheNonexistentIntegralDivisionOperator. . . . . . . . . . . . . . . . . . . 69 Increment. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 Decrement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 Negation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 StringConcatenation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 BitwiseOperators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 BitwiseAND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 BitwiseOR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 BitwiseXOR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 BitwiseNOT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 ShiftOperators. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 LeftShift . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 RightShift. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 Zero-fillRightShift . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 AssignmentOperators. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 RelationalOperators. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 EqualityandInequality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 Short-CircuitLogicalOperators . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 LogicalOR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 LogicalAND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 LogicalNOT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 TestingEqualityforFloating-PointNumbers . . . . . . . . . . . . . . . . . . 85 MoreLogicalOperators. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 ConditionalOperator. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 CommaOperator. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 DataTypeOperator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 VoidOperator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 OperatorPrecedence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 viii (cid:1) Contents Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 SideEffects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 Chapter7 Events in JavaScript. . . . . . . . . . . . . . . . . . . . 91 Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 EventHandlers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 onLoadandonUnload . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 onError . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 EmulatingEventsviaMethods . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 CallingEventHandlersExplicitly. . . . . . . . . . . . . . . . . . . . . . . . . . 101 CancelingEvents. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 Chapter8 Building and Extending Objects . . . . . . . . . . . . . 104 CreatingInstances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 ConstructorFunctions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 DefiningObjectProperties. . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 NestedObjects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 DefiningMethods. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 CreatingObjects—AnExample . . . . . . . . . . . . . . . . . . . . . . . . . 113 PrototypeandObjectExtensions . . . . . . . . . . . . . . . . . . . . . . . . . . 115 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 Chapter9 Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 WhatIsanArray? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 SomeHistory. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 CreatingSimpleArrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 ReferringtoanArray’sElements. . . . . . . . . . . . . . . . . . . . . . . . . . 120 CreatingDenseArrays. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 ArrayTypes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 ArrayProperties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 ArrayMethods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 chop() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 grep() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 join(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 pop() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 push() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 reverse(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 shift() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 sort(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 splice(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 split(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 unshift() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 TheargumentsArray . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 MultidimensionalArrays. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 CreationwithaSingleConstructorFunction. . . . . . . . . . . . . . . . . . 144 CreationwithoutaConstructorFunction. . . . . . . . . . . . . . . . . . . . 145 AssociativeArrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 PopulatinganAssociativeArray. . . . . . . . . . . . . . . . . . . . . . . . . 147 SplittingaStringintoanAssociativeArray. . . . . . . . . . . . . . . . . . . 148 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 Contents (cid:1) ix Chapter10 Time and Date in JavaScript. . . . . . . . . . . . . . . 150 TheDateObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 CreatingaDateInstance. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 ParametersoftheDateConstructor. . . . . . . . . . . . . . . . . . . . . . . 151 DateNumericConventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 DateMethodCategories. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 ThegetMethods. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 getYear(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 getMonth() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 getDate() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 getDay(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 getHours(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 getMinutes() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 getSeconds() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 getTimezoneOffset() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 getTime() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 ThesetMethods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 setYear(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 setMonth() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 setDate(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 setHours(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 setMinutes(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 setSeconds(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 setTime() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 ThetoMethods. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 toGMTString() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 toLocaleString(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 TheparseMethods. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 parse(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 UTC() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 Time-RelatedMethodsofOtherObjects . . . . . . . . . . . . . . . . . . . . . . 163 setTimeout() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 clearTimeout() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165 TimeandDateExamples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 ASimpleDigitalClock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 MonthlyCalendar. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 getTime(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 leapYear(year) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 getDays(month,year) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 getMonthName(month). . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 setCal(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 drawCal(firstDay,lastDate,date,monthName,year) . . . . . . . . . . . . 176 RandomQuotes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 Chapter11 JavaScript Math . . . . . . . . . . . . . . . . . . . . . 182 MathinJavaScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182 TheMathObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182 Constants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 E . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 LN2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184 LN10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184 LOG2E. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.