
۴۴٬۰۰۰تومان
نوع فایل دانلود: PDF
پس از خرید، یک فایل PDF دریافت میکنید.
این فایل با Adobe Reader، مرورگر و اپهای PDF روی کامپیوتر و موبایل باز میشود.
مقدمه
دربارهٔ برنامهنویسی
چرا زبان مهم است
جاوااسکریپت چیست؟
کد، و کارهایی که میتوان با آن کرد
نگاهی به این کتاب
قراردادهای نوشتاری
مقدارها، نوعها و عملگرها
مقدارها
عددها
رشتهها
عملگرهای یکانی
مقدارهای بولی
مقدارهای تهی
تبدیل خودکار نوع
خلاصه
ساختار برنامه
عبارتها و دستورها
اتصالها
نام اتصالها
محیط
توابع
تابع console.log
مقدارهای بازگشتی
جریان کنترل
اجرای شرطی
حلقههای while و do
تورفتگی کد
حلقههای for
بیرون آمدن از حلقه
بهروزرسانی مختصر اتصالها
انتخاب بر اساس مقدار با switch
بزرگنویسی حروف
توضیحات
خلاصه
تمرینها
توابع
تعریف یک تابع
اتصالها و حوزهها
توابع بهعنوان مقدار
نوشتار اعلان
توابع پیکانی
پشتهٔ فراخوانی
آرگومانهای اختیاری
بستار
بازگشتی
رشد دادن توابع
توابع و اثرات جانبی
خلاصه
تمرینها
ساختارهای داده: اشیاء و آرایهها
سنجابانسان
مجموعههای داده
ویژگیها
متدها
اشیاء
تغییرپذیری
دفتر خاطرات انسانگرگ
محاسبهٔ همبستگی
حلقههای آرایه
تحلیل نهایی
آرایهشناسی بیشتر
رشتهها و ویژگیهایشان
پارامترهای باقیمانده
شیء Math
ساختارشکنی
JSON
خلاصه
تمرینها
توابع مرتبهٔ بالاتر
انتزاع
انتزاع تکرار
توابع مرتبهٔ بالاتر
مجموعه دادهٔ اسکریپت
فیلتر کردن آرایهها
تبدیل با map
خلاصهسازی با reduce
ترکیبپذیری
رشتهها و کدهای نویسه
تشخیص متن
خلاصه
تمرینها
زندگی پنهان اشیاء
کپسولهسازی
متدها
پروتوتایپها
کلاسها
نوشتار کلاس
بازنویسی ویژگیهای مشتقشده
نقشهها
چندریختی
نمادها
رابط تکرارگر
گیرندهها، تنظیمکنندهها و عضوهای ایستا
وراثت
عملگر instanceof
خلاصه
تمرینها
پروژه: یک ربات
میدوفیلد
وظیفه
دادههای ماندگار
شبیهسازی
مسیر کامیون پست
پیدا کردن مسیر
تمرینها
باگها و خطاها
زبان
حالت سختگیرانه
نوعها
آزمایش
اشکالزدایی
انتشار خطا
استثناها
پاکسازی پس از استثناها
گرفتن گزینشی
اظهارها
خلاصه
تمرینها
عبارتهای منظم
ساخت یک عبارت منظم
آزمایش برای تطبیق
مجموعههای نویسه
تکرار بخشهایی از الگو
گروهبندی زیرعبارتها
تطبیقها و گروهها
کلاس Date
مرزهای واژه و رشته
الگوهای انتخاب
سازوکار تطبیق
عقبگرد
متد replace
حریص بودن
ساخت پویای اشیاء RegExp
متد search
ویژگی lastIndex
تجزیهٔ یک فایل INI
نویسههای بینالمللی
خلاصه
تمرینها
ماژولها
ماژولها
بستهها
ماژولهای دستساز
ارزیابی داده بهعنوان کد
CommonJS
ماژولهای ECMAScript
ساخت و بستهبندی
طراحی ماژول
خلاصه
تمرینها
برنامهنویسی ناهمگام
ناهمگامی
فناوری کلاغ
کالبکها
پرامیسها
شکست
شبکهها سختاند
مجموعهای از پرامیسها
سیلابی شدن شبکه
مسیریابی پیام
توابع async
مولدها
حلقهٔ رویداد
باگهای ناهمگام
خلاصه
تمرینها
پروژه: یک زبان برنامهنویسی
تجزیه
ارزیاب
فرمهای خاص
محیط
توابع
کامپایل
تقلب
تمرینها
جاوااسکریپت و مرورگر
شبکهها و اینترنت
وب
HTML
HTML و جاوااسکریپت
در جعبهٔ شنی
سازگاری و جنگ مرورگرها
مدل شیء سند
ساختار سند
درختها
استاندارد
حرکت در درخت
پیدا کردن عناصر
تغییر سند
ساخت گرهها
ویژگیها
چیدمان
استایلدهی
استایلهای آبشاری
انتخابگرهای کوئری
موقعیتدهی و پویانمایی
خلاصه
تمرینها
مدیریت رویدادها
مدیریتکنندههای رویداد
رویدادها و گرههای DOM
اشیاء رویداد
انتشار
اقدامات پیشفرض
رویدادهای کلید
رویدادهای اشارهگر
رویدادهای پیمایش
رویدادهای فوکوس
رویداد بارگذاری
رویدادها و حلقهٔ رویداد
زمانسنجها
دیبانسینگ
خلاصه
تمرینها
پروژه: یک بازی سکوئی
بازی
فناوری
مراحل
خواندن یک مرحله
بازیگران
کپسولهسازی بهعنوان بار
رسم
حرکت و برخورد
بهروزرسانی بازیگران
ردیابی کلیدها
اجرای بازی
تمرینها
رسم روی Canvas
SVG
عنصر canvas
خطها و سطحها
مسیرها
منحنیها
رسم نمودار دایرهای
متن
تصاویر
تبدیل
ذخیره و پاک کردن تبدیلها
بازگشت به بازی
انتخاب رابط گرافیکی
خلاصه
تمرینها
HTTP و فرمها
پروتکل
مرورگرها و HTTP
Fetch
جعبهشنی HTTP
درک ارزش HTTP
امنیت و HTTPS
فیلدهای فرم
فوکوس
فیلدهای غیرفعال
فرم بهعنوان یک کل
فیلدهای متنی
چکباکسها و دکمههای رادیویی
فیلدهای انتخاب
فیلدهای فایل
ذخیرهٔ داده در سمت کلاینت
خلاصه
تمرینها
پروژه: ویرایشگر هنر پیکسلی
اجزا
وضعیت
ساخت DOM
بوم
برنامه
ابزارهای رسم
ذخیره و بارگذاری
تاریخچهٔ واگرد
بیایید رسم کنیم
چرا اینقدر سخت است؟
تمرینها
Node.js
پیشزمینه
دستور node
ماژولها
نصب با NPM
ماژول سیستم فایل
ماژول HTTP
جریانها
یک سرور فایل
خلاصه
تمرینها
پروژه: وبسایت اشتراک مهارت
طراحی
پولینگ طولانی
رابط HTTP
سرور
کلاینت
تمرینها
راهنمایی تمرینها
ساختار برنامه
توابع
ساختارهای داده: اشیاء و آرایهها
توابع مرتبهٔ بالاتر
زندگی پنهان اشیاء
پروژه: یک ربات
باگها و خطاها
عبارتهای منظم
ماژولها
برنامهنویسی ناهمگام
پروژه: یک زبان برنامهنویسی
مدل شیء سند
مدیریت رویدادها
پروژه: یک بازی سکوئی
رسم روی Canvas
HTTP و فرمها
پروژه: ویرایشگر هنر پیکسلی
Node.js
پروژه: وبسایت اشتراک مهارت
IntroductionOn programmingWhy language mattersWhat is JavaScript?Code, and what to do with itOverview of this bookTypographic conventionsValues, Types, and OperatorsValuesNumbersStringsUnary operatorsBoolean valuesEmpty valuesAutomatic type conversionSummaryProgram StructureExpressions and statementsBindingsBinding namesThe environmentFunctionsThe console.log functionReturn valuesControl flowConditional executionwhile and do loopsIndenting Codefor loopsBreaking Out of a LoopUpdating bindings succinctlyDispatching on a value with switchCapitalizationCommentsSummaryExercisesFunctionsDefining a functionBindings and scopesFunctions as valuesDeclaration notationArrow functionsThe call stackOptional ArgumentsClosureRecursionGrowing functionsFunctions and side effectsSummaryExercisesData Structures: Objects and ArraysThe weresquirrelData setsPropertiesMethodsObjectsMutabilityThe lycanthrope's logComputing correlationArray loopsThe final analysisFurther arrayologyStrings and their propertiesRest parametersThe Math objectDestructuringJSONSummaryExercisesHigher-Order FunctionsAbstractionAbstracting repetitionHigher-order functionsScript data setFiltering arraysTransforming with mapSummarizing with reduceComposabilityStrings and character codesRecognizing textSummaryExercisesThe Secret Life of ObjectsEncapsulationMethodsPrototypesClassesClass notationOverriding derived propertiesMapsPolymorphismSymbolsThe iterator interfaceGetters, setters, and staticsInheritanceThe instanceof operatorSummaryExercisesProject: A RobotMeadowfieldThe taskPersistent dataSimulationThe mail truck's routePathfindingExercisesBugs and ErrorsLanguageStrict modeTypesTestingDebuggingError propagationExceptionsCleaning up after exceptionsSelective catchingAssertionsSummaryExercisesRegular ExpressionsCreating a regular expressionTesting for matchesSets of charactersRepeating parts of a patternGrouping subexpressionsMatches and groupsThe Date classWord and string boundariesChoice patternsThe mechanics of matchingBacktrackingThe replace methodGreedDynamically creating RegExp objectsThe search methodThe lastIndex propertyParsing an INI fileInternational charactersSummaryExercisesModulesModulesPackagesImprovised modulesEvaluating data as codeCommonJSECMAScript modulesBuilding and bundlingModule designSummaryExercisesAsynchronous ProgrammingAsynchronicityCrow techCallbacksPromisesFailureNetworks are hardCollections of promisesNetwork floodingMessage routingAsync functionsGeneratorsThe event loopAsynchronous bugsSummaryExercisesProject: A Programming LanguageParsingThe evaluatorSpecial formsThe environmentFunctionsCompilationCheatingExercisesJavaScript and the BrowserNetworks and the InternetThe WebHTMLHTML and JavaScriptIn the sandboxCompatibility and the browser warsThe Document Object ModelDocument structureTreesThe standardMoving through the treeFinding elementsChanging the documentCreating nodesAttributesLayoutStylingCascading stylesQuery selectorsPositioning and animatingSummaryExercisesHandling EventsEvent handlersEvents and DOM nodesEvent objectsPropagationDefault actionsKey eventsPointer eventsScroll eventsFocus eventsLoad eventEvents and the event loopTimersDebouncingSummaryExercisesProject: A Platform GameThe gameThe technologyLevelsReading a levelActorsEncapsulation as a burdenDrawingMotion and collisionActor updatesTracking keysRunning the gameExercisesDrawing on CanvasSVGThe canvas elementLines and surfacesPathsCurvesDrawing a pie chartTextImagesTransformationStoring and clearing transformationsBack to the gameChoosing a graphics interfaceSummaryExercisesHTTP and FormsThe protocolBrowsers and HTTPFetchHTTP sandboxingAppreciating HTTPSecurity and HTTPSForm fieldsFocusDisabled fieldsThe form as a wholeText fieldsCheckboxes and radio buttonsSelect fieldsFile fieldsStoring data client-sideSummaryExercisesProject: A Pixel Art EditorComponentsThe stateDOM buildingThe canvasThe applicationDrawing toolsSaving and loadingUndo historyLet's drawWhy is this so hard?ExercisesNode.jsBackgroundThe node commandModulesInstalling with NPMThe file system moduleThe HTTP moduleStreamsA file serverSummaryExercisesProject: Skill-Sharing WebsiteDesignLong pollingHTTP interfaceThe serverThe clientExercisesExercise HintsProgram StructureFunctionsData Structures: Objects and ArraysHigher-Order FunctionsThe Secret Life of ObjectsProject: A RobotBugs and ErrorsRegular ExpressionsModulesAsynchronous ProgrammingProject: A Programming LanguageThe Document Object ModelHandling EventsProject: A Platform GameDrawing on CanvasHTTP and FormsProject: A Pixel Art EditorNode.jsProject: Skill-Sharing Website