![Page 2: Web Programming Workshopmontajab.com/kishuast/lib/wpw/WebProgrammingWorkshop_02.pdf · 5.1 ECMAScript 5.1 (2011) Editorial changes. 6 ECMAScript 2015 Added let and const. Added default](https://reader037.vdocuments.site/reader037/viewer/2022090505/601abe910354c20876400719/html5/thumbnails/2.jpg)
2
.و وب استHTMLجاوا اسکریپت، زبان برنامه نویسی
.جاوا اسکریپت یکی از سه زبان مورد نیاز همه توسعه دهندگان وب است
JavaScript
تعریف محتوای صفحات وب
تعیین طرح صفحات وب
برنامه ریزی رفتار صفحات وب
Content
Layout
Behavior
![Page 3: Web Programming Workshopmontajab.com/kishuast/lib/wpw/WebProgrammingWorkshop_02.pdf · 5.1 ECMAScript 5.1 (2011) Editorial changes. 6 ECMAScript 2015 Added let and const. Added default](https://reader037.vdocuments.site/reader037/viewer/2022090505/601abe910354c20876400719/html5/thumbnails/3.jpg)
3
ECMA-262: نام رسمی
2018، ژوئن 9: جدیدترین نسخه
ECMAScript® 2018
JavaScript
European Computer
Manufacturers Association
1997: ECMAScript 1
![Page 4: Web Programming Workshopmontajab.com/kishuast/lib/wpw/WebProgrammingWorkshop_02.pdf · 5.1 ECMAScript 5.1 (2011) Editorial changes. 6 ECMAScript 2015 Added let and const. Added default](https://reader037.vdocuments.site/reader037/viewer/2022090505/601abe910354c20876400719/html5/thumbnails/4.jpg)
4
JavaScript
Version Official Name Description
1 ECMAScript 1 (1997) First Edition.
2 ECMAScript 2 (1998) Editorial changes only.
3 ECMAScript 3 (1999) Added Regular Expressions. Added try/catch.
4 ECMAScript 4 Never released.
5 ECMAScript 5 (2009) Added "strict mode". Added JSON support. Added String.trim().
Added Array.isArray(). Added Array Iteration Methods.
5.1 ECMAScript 5.1 (2011) Editorial changes.
6 ECMAScript 2015 Added let and const. Added default parameter values.
Added Array.find(). Added Array.findIndex().
7 ECMAScript 2016 Added exponential operator (**). Added Array.prototype.includes.
8 ECMAScript 2017 Added string padding. Added new Object properties.
Added Async functions. Added Shared Memory.
9 ECMAScript 2018 Added rest / spread properties. Added Asynchronous iteration.
Added Promise.finally(). Additions to RegExp.
![Page 5: Web Programming Workshopmontajab.com/kishuast/lib/wpw/WebProgrammingWorkshop_02.pdf · 5.1 ECMAScript 5.1 (2011) Editorial changes. 6 ECMAScript 2015 Added let and const. Added default](https://reader037.vdocuments.site/reader037/viewer/2022090505/601abe910354c20876400719/html5/thumbnails/5.jpg)
5
DOMDocument Object Model
JavaScript
DOM یک استاندارد کنسرسیوم جهانی وب(W3C )برای دسترسی به اسناد است.
DOMاختار و به صورت پویا، به برنامه ها و اسکریپت ها اجازه دسترسی و تغییر محتوا، س
: این استاندارد دارای سه بخش است. استایل یک سند را می دهد
Core DOM :مدل استاندارد انواع اسناد
XML DOM : مدل استاندارد اسنادXML
HTML DOM: مدل استاندارد اسنادHTML
![Page 6: Web Programming Workshopmontajab.com/kishuast/lib/wpw/WebProgrammingWorkshop_02.pdf · 5.1 ECMAScript 5.1 (2011) Editorial changes. 6 ECMAScript 2015 Added let and const. Added default](https://reader037.vdocuments.site/reader037/viewer/2022090505/601abe910354c20876400719/html5/thumbnails/6.jpg)
6
HTML DOM
JavaScript
HTML DOMبرایبرنامه نویسیرابطواستانداردشی ءمدلیکHTML،عناصرکهاست
HTMLتمامرخدادهایودسترسیمتدهایویژگی ها،همچنینواشیاءبه عنوانرا
ایوحذفتغییر،دریافت،برایاستانداردیعبارتیبه.می کندتعریفراHTMLعناصر
.استHTMLعناصرکردناضافه
HTMLبااسکریپتجاوا DOMسندیکعناصرتمامبهمی توانیدHTMLداشتهدسترسی
.دهدتغییرراآن هاوباشد
PropertiesMethods
![Page 7: Web Programming Workshopmontajab.com/kishuast/lib/wpw/WebProgrammingWorkshop_02.pdf · 5.1 ECMAScript 5.1 (2011) Editorial changes. 6 ECMAScript 2015 Added let and const. Added default](https://reader037.vdocuments.site/reader037/viewer/2022090505/601abe910354c20876400719/html5/thumbnails/7.jpg)
7
HTML DOM
JavaScript
اید جهت دسترسی به هر یک از عناصر، ابتدا ب.مدسترسی داشته باشیDocumentبه شی ء
صفحه وب را نمایش Documentشی ء .می دهد و مالک سایر اشیاء صفحه است
![Page 8: Web Programming Workshopmontajab.com/kishuast/lib/wpw/WebProgrammingWorkshop_02.pdf · 5.1 ECMAScript 5.1 (2011) Editorial changes. 6 ECMAScript 2015 Added let and const. Added default](https://reader037.vdocuments.site/reader037/viewer/2022090505/601abe910354c20876400719/html5/thumbnails/8.jpg)
8
JavaScript
<html>
</html>
<!DOCTYPE html>
<head>Metadata
</head>
<body>
Content
</body>
HTML DOM
![Page 9: Web Programming Workshopmontajab.com/kishuast/lib/wpw/WebProgrammingWorkshop_02.pdf · 5.1 ECMAScript 5.1 (2011) Editorial changes. 6 ECMAScript 2015 Added let and const. Added default](https://reader037.vdocuments.site/reader037/viewer/2022090505/601abe910354c20876400719/html5/thumbnails/9.jpg)
9
HTML DOM
JavaScript
:می تواندومی آوردبدستراپویاHTMLایجادامکانشی ءمدلبااسکریپت،جاوا
.کنداضافهجدیدHTMLصفاتوعناصر•
.کندحذفراموجودHTMLصفاتوعناصر•
.دهدتغییرراصفحهدرموجودCSSاستایل هاینیزوHTMLصفاتوعناصرتمام•
.کندایجادصفحهدرHTMLجدیدرویدادهای•
.دهدنشانواکنشصفحهدرموجودHTMLرخدادهایتمامبه•
![Page 10: Web Programming Workshopmontajab.com/kishuast/lib/wpw/WebProgrammingWorkshop_02.pdf · 5.1 ECMAScript 5.1 (2011) Editorial changes. 6 ECMAScript 2015 Added let and const. Added default](https://reader037.vdocuments.site/reader037/viewer/2022090505/601abe910354c20876400719/html5/thumbnails/10.jpg)
10
HTML DOM
JavaScript
به HTML، تمام عناصر DOMدر .تعریف می شوندObjectعنوان
ی هنگامی که یک صفحه وب بارگذار
از صفحه DOMمی شود، مرورگر یک
.ایجاد می کند
Object
Methods Properties
![Page 11: Web Programming Workshopmontajab.com/kishuast/lib/wpw/WebProgrammingWorkshop_02.pdf · 5.1 ECMAScript 5.1 (2011) Editorial changes. 6 ECMAScript 2015 Added let and const. Added default](https://reader037.vdocuments.site/reader037/viewer/2022090505/601abe910354c20876400719/html5/thumbnails/11.jpg)
11
HTML DOM
JavaScript
:هستند(Methods)متدهاو(Properties)ویژگی هاشی ء،هربرنامه نویسیرابط
Property:تنظیمقابلمقداریک(عنصرHTML)است.
Method:عنصررویبرانجامقابلعملیکHTMLاست.<!DOCTYPE html><html>
<body><p id="myID">Hello </p><script>
document.getElementById("myID").style.fontSize = "22px";document.getElementById("myID").innerHTML += "World!";
</script></body>
</html>
PropertyMethod
Hello World!
Attribute
Object
Attribute
![Page 12: Web Programming Workshopmontajab.com/kishuast/lib/wpw/WebProgrammingWorkshop_02.pdf · 5.1 ECMAScript 5.1 (2011) Editorial changes. 6 ECMAScript 2015 Added let and const. Added default](https://reader037.vdocuments.site/reader037/viewer/2022090505/601abe910354c20876400719/html5/thumbnails/12.jpg)
12
HTML DOM
JavaScript
:()createElementمتدازاستفادهباجدیدعنصریکایجاد
document.createElement(nodename)
:مثال<script>
var btn = document.createElement('button');btn.textContent = "Say Hello";btn.onclick = function () {
alert("Hi...");};document.body.appendChild(btn);
</script>
![Page 13: Web Programming Workshopmontajab.com/kishuast/lib/wpw/WebProgrammingWorkshop_02.pdf · 5.1 ECMAScript 5.1 (2011) Editorial changes. 6 ECMAScript 2015 Added let and const. Added default](https://reader037.vdocuments.site/reader037/viewer/2022090505/601abe910354c20876400719/html5/thumbnails/13.jpg)
13
JavaScript
:اسکریپتجاواکدهایافزودن
<head>بخش هایدر،HTMLفایلدررا،اسکریپتجاواکدهایمی توان<script>تگازاستفادهبا.1
خشبیکدرراکدهاکلوبپرهیزیمآن هاپرکندگیازاستبهتر.دادقرار(بخشدوهریاو)<body>یا
.استموثرصفحهبارگذاریسرعتدر<body>بخشانتهایدرکدهادادنقرارنماییم؛وارد
<!DOCTYPE html><html>
<body><p id="myID">Hello </p><script>
document.getElementById("myID").style.fontSize = "22px";document.getElementById("myID").innerHTML += "World!";
</script></body>
</html>
است و مانند گذشته نیازی به استفادهHTMLجاوا اسکرییپ، زبان اسکریپتی پیش فرض
.نیست<"script type="text/javascript>برای تعیین آن به صورت typeاز صفت
. در همه ویرایشگرها یکسان نیستTabاز چهار فاصله استفاده نمایید؛ زیرا مقدار Tabبرای ایجاد تورفتگی در کد، به جای
![Page 14: Web Programming Workshopmontajab.com/kishuast/lib/wpw/WebProgrammingWorkshop_02.pdf · 5.1 ECMAScript 5.1 (2011) Editorial changes. 6 ECMAScript 2015 Added let and const. Added default](https://reader037.vdocuments.site/reader037/viewer/2022090505/601abe910354c20876400719/html5/thumbnails/14.jpg)
14
JavaScript
:اسکریپتجاواکدهایافزودن
ازاستفادهباودادهقرارjs.پسوندباخارجیفایل(چندیا)یکدرمی توانرااسکریپتجاواکدهای.2
.نموداضافهآن را<script>تگsrcصفت
<!DOCTYPE html><html>
<body><p id="myID">Hello </p><script src="javaScript1.js"></script><script src="javaScript2.js"></script>
</body></html>
document.getElementById("myID").style.fontSize = "22px";document.getElementById("myID").innerHTML += "World!";
javaScript1.js
:مزایاHTMLجدا بودن کد جاوا اسکریپت از •
و جاوا اسکریپتHTMLخواندن و نگهداری آسان تر •ریپتافزایش سرعت بارگذاری به دلیل کش شدن فایل های جاوا اسک•
![Page 15: Web Programming Workshopmontajab.com/kishuast/lib/wpw/WebProgrammingWorkshop_02.pdf · 5.1 ECMAScript 5.1 (2011) Editorial changes. 6 ECMAScript 2015 Added let and const. Added default](https://reader037.vdocuments.site/reader037/viewer/2022090505/601abe910354c20876400719/html5/thumbnails/15.jpg)
15
JavaScript
:دادهنمایشبرایاسکریپتجاواامکانات
1. window.alert() ه ای جاوا اسکریپت هیچ تابع تعبیه شد(Built-in )برای نمایش و چاپ ندارد.
<!DOCTYPE html><html><body>
<p>Paragraph</p><script>
window.alert("5 * 20 = " + 5*20); </script>
</body></html>
Paragraph
![Page 16: Web Programming Workshopmontajab.com/kishuast/lib/wpw/WebProgrammingWorkshop_02.pdf · 5.1 ECMAScript 5.1 (2011) Editorial changes. 6 ECMAScript 2015 Added let and const. Added default](https://reader037.vdocuments.site/reader037/viewer/2022090505/601abe910354c20876400719/html5/thumbnails/16.jpg)
16
JavaScript
:دادهنمایشبرایاسکریپتجاواامکانات
2. document.write()
<!DOCTYPE html><html>
<body><p>Paragraph</p><script>
document.write("5 * 20 = " + 5*20); </script>
</body></html>
Paragraph
5 * 20 = 100
![Page 17: Web Programming Workshopmontajab.com/kishuast/lib/wpw/WebProgrammingWorkshop_02.pdf · 5.1 ECMAScript 5.1 (2011) Editorial changes. 6 ECMAScript 2015 Added let and const. Added default](https://reader037.vdocuments.site/reader037/viewer/2022090505/601abe910354c20876400719/html5/thumbnails/17.jpg)
17
JavaScript
:دادهنمایشبرایاسکریپتجاواامکانات
2. document.write()
<!DOCTYPE html><html>
<body><p>Paragraph</p>
<button onclick="document.write('5 * 20 = ' + 5*20)">Click</button>
</body></html>
onclickرخداد . افتدهنگام کلیک کردن بر روی شی ء اتفاق می
5 * 20 = 100onclickبعد از کلیک دکمه و فراخوانی رخداد
محتوای قبلی documentدر شی ء writeبه دلیل .می گرددwriteحذف شده و محتوای جدید
![Page 18: Web Programming Workshopmontajab.com/kishuast/lib/wpw/WebProgrammingWorkshop_02.pdf · 5.1 ECMAScript 5.1 (2011) Editorial changes. 6 ECMAScript 2015 Added let and const. Added default](https://reader037.vdocuments.site/reader037/viewer/2022090505/601abe910354c20876400719/html5/thumbnails/18.jpg)
18
JavaScript
:دادهنمایشبرایاسکریپتجاواامکانات
3. innerHTML
<!DOCTYPE html><html>
<body><p>Paragraph</p><p id="myPara">P</p> <script>
document.getElementById("myPara").innerHTML = "5 * 20 = " + 5*20;</script>
</body></html>
Paragraph
5 * 20 = 100
برای getElementByIdاز متد براساس HTMLدسترسی به عناصر
idآن ها استفاده می شود.
innerHTMLویژگی
.ندمحتوای عنصر مورد نظر را تعیین می ک
.برای نمایش داده استفاده می گرددinnerHTMLمعموال از ویژگی
![Page 19: Web Programming Workshopmontajab.com/kishuast/lib/wpw/WebProgrammingWorkshop_02.pdf · 5.1 ECMAScript 5.1 (2011) Editorial changes. 6 ECMAScript 2015 Added let and const. Added default](https://reader037.vdocuments.site/reader037/viewer/2022090505/601abe910354c20876400719/html5/thumbnails/19.jpg)
19
JavaScript
:دادهنمایشبرایاسکریپتجاواامکانات
4. console.log()
<!DOCTYPE html><html>
<body><p>Paragraph</p><script>
console.log("5 * 20 = " + 5*20); </script>
</body></html>
Paragraph
.دداز این روش معموال برای تست استفاده می گر
![Page 20: Web Programming Workshopmontajab.com/kishuast/lib/wpw/WebProgrammingWorkshop_02.pdf · 5.1 ECMAScript 5.1 (2011) Editorial changes. 6 ECMAScript 2015 Added let and const. Added default](https://reader037.vdocuments.site/reader037/viewer/2022090505/601abe910354c20876400719/html5/thumbnails/20.jpg)
20
JavaScript
.می شونداجراکهاستدستورالعمل هاییازمجموعه ایبرنامهیک
.می شودگفتهStatementدستورالعمل هااینبهبرنامه نویسیزبان هایدر
.(.می شودتوصیهبه شدتامانیست،الزم)می شوندجداهمازSemicolonتوسطهاStatementاسکریپتجاوادر
Statementازعبارتنداسکریپتجاواهای:(Values)مقادیر1)(Operators)عملگرها2)(Expressions)عبارات3)(Comments)توضیحات4)(Keywords)کلیدیکلمات5)
Syntax
در یک سطر وجود دارد؟Statementآیا امکان قرار دادن چند
![Page 21: Web Programming Workshopmontajab.com/kishuast/lib/wpw/WebProgrammingWorkshop_02.pdf · 5.1 ECMAScript 5.1 (2011) Editorial changes. 6 ECMAScript 2015 Added let and const. Added default](https://reader037.vdocuments.site/reader037/viewer/2022090505/601abe910354c20876400719/html5/thumbnails/21.jpg)
21
JavaScript
Statementاسکریپتجاواهای:Syntax
Values
Literalsمقادیر ثابت
Variablesمقادیر متغیر
:مقادیر عددی10010.5
:مقادیر رشته ای'JavaScript'"JavaScript"
.ها استفاده می شودVariableبرای ذخیره داده از
:نحوه تعریف یک متغیر
var variableName = 100;
کلمه کلیدینام متغیر عملگر
مقدار
![Page 22: Web Programming Workshopmontajab.com/kishuast/lib/wpw/WebProgrammingWorkshop_02.pdf · 5.1 ECMAScript 5.1 (2011) Editorial changes. 6 ECMAScript 2015 Added let and const. Added default](https://reader037.vdocuments.site/reader037/viewer/2022090505/601abe910354c20876400719/html5/thumbnails/22.jpg)
22
JavaScript
Syntax
Values
Variables
var pi = 3.14;
var firstName = "fname";
var lastName;
lastName = "lname";
var x = 5, y = 10, s = "String …";
Statementاسکریپتجاواهای:
عددی: نوع متغیر
رشته ای: نوع متغیر
.استundefinedفقط اعالن شده؛ مقدار آن برابر
رشته ای: نوع متغیر: بعد از مقداردهی
![Page 23: Web Programming Workshopmontajab.com/kishuast/lib/wpw/WebProgrammingWorkshop_02.pdf · 5.1 ECMAScript 5.1 (2011) Editorial changes. 6 ECMAScript 2015 Added let and const. Added default](https://reader037.vdocuments.site/reader037/viewer/2022090505/601abe910354c20876400719/html5/thumbnails/23.jpg)
Conditional (Ternary) Operator
23
JavaScript
Statementاسکریپتجاواهای:Syntax
Operators
عملگرهای ریاضی عملگرهای انتساب عملگرهای مقایسه عملگرهای بیتی عملگرهای منطقی
+-*/%++--
=+=-=*=/=%=
=====!=
!==><
>=<=
&|~^
<<>>
&&||!
variableName = (condition) ? value1 : value2;
![Page 24: Web Programming Workshopmontajab.com/kishuast/lib/wpw/WebProgrammingWorkshop_02.pdf · 5.1 ECMAScript 5.1 (2011) Editorial changes. 6 ECMAScript 2015 Added let and const. Added default](https://reader037.vdocuments.site/reader037/viewer/2022090505/601abe910354c20876400719/html5/thumbnails/24.jpg)
24
JavaScript
Statementاسکریپتجاواهای:Syntax
Expressions
.یک عبارت، ترکیبی از مقادیر، متغیرها و عملگرهاست که یک مقدار را ارزشیابی می کند
"JavaScript" + " : " + 100 * 10
Comments
در یک یا چند سطر وجود دارند، به عنوان توضیحات در /*و */در هر سطر و یا بین //کدهایی که بعد از .نظر گرفته شده و اجرا نمی شوند
// var x = 100;var y = 100; // This is …
/* var x = 100;var x = 200; */
"JavaScript : 1000"
![Page 25: Web Programming Workshopmontajab.com/kishuast/lib/wpw/WebProgrammingWorkshop_02.pdf · 5.1 ECMAScript 5.1 (2011) Editorial changes. 6 ECMAScript 2015 Added let and const. Added default](https://reader037.vdocuments.site/reader037/viewer/2022090505/601abe910354c20876400719/html5/thumbnails/25.jpg)
25
JavaScript
Statementاسکریپتجاواهای:Syntax
Keywords
.از کلمات کلیدی برای اعمالی که باید انجام شود، استفاده می گردد
break do instanceof typeof case else new var
catch finally return void continue for switch while
debugger function this with default if throw null
delete in try true false
Reservedabstract export interface static boolean extends long super
byte final native short char float package throws
class goto private volatile const implements protected int
double import public enum transient synchronized
![Page 26: Web Programming Workshopmontajab.com/kishuast/lib/wpw/WebProgrammingWorkshop_02.pdf · 5.1 ECMAScript 5.1 (2011) Editorial changes. 6 ECMAScript 2015 Added let and const. Added default](https://reader037.vdocuments.site/reader037/viewer/2022090505/601abe910354c20876400719/html5/thumbnails/26.jpg)
26
JavaScript
:تنیسزیرعباراتبینتفاوتیمی شوند؛گرفتهنادیدهسرهمپشتفاصله هایاسکریپتجاوادر
var varName = "Name";
var varName="Name";
ردکدبلوکیکمی گردد؛استفادهکدبلوک هایازشونداجراباهمبایدکههاییstatementاجرایبرای
.می گیردقرار{و}عالمتدوبین
Syntax
![Page 27: Web Programming Workshopmontajab.com/kishuast/lib/wpw/WebProgrammingWorkshop_02.pdf · 5.1 ECMAScript 5.1 (2011) Editorial changes. 6 ECMAScript 2015 Added let and const. Added default](https://reader037.vdocuments.site/reader037/viewer/2022090505/601abe910354c20876400719/html5/thumbnails/27.jpg)
27
JavaScript
.رددمی گاستفادهبرچسب هاوتوابعکلیدی،کلماتمتغیرها،نامبرایشناسه هاازاسکریپتجاوادر
:ازعبارتندکههستندقواعدیدارایوبودهیکتاشناسه ها.شوندشروع$عالمتیاو_حرف،بایدشناسه ها•.می کنداستفادهUnicodeکاراکترمجموعهازاسکریپتجاوا•.استحساسشناسه هاحروفبودنبزرگیاوکوچکبهنسبتاسکریپتجاوا•روشازمعموالاسکریپتجاوادرکلمه ایچندینشناسه هاینام گذاریبرای•
Camel-Caseروشازاستفادهطرفیاز.می گردداستفادهکوچکاولحرفبا.استشدهرزروتفریقبرایخط تیرهزیرا؛نیستامکان پذیر(Hyphens)خط تیره
Identifiers
Camel Case: firstName, lastNameUnderscore: first_name, last_namePascal Case: FirstName, LastNameHyphens: first-name, last-name
Case Sensitive
![Page 28: Web Programming Workshopmontajab.com/kishuast/lib/wpw/WebProgrammingWorkshop_02.pdf · 5.1 ECMAScript 5.1 (2011) Editorial changes. 6 ECMAScript 2015 Added let and const. Added default](https://reader037.vdocuments.site/reader037/viewer/2022090505/601abe910354c20876400719/html5/thumbnails/28.jpg)
28
JavaScript
.هستندObjectاز نوع Nullو Arrayدر جاوا اسکریپت،
.استUndefinedنوع متغیری که فقط اعالن شده و هنوز مقداری به آن نسبت داده نشده،
Object ،ی که هنوز تعریف نشدهUndefined است و نمی تواندNullباشد.
Data Types
CompositePrimary
Special
Object
Array
String
Number
Boolean
Undefined
Null
VariablesPropertiesMethods
![Page 29: Web Programming Workshopmontajab.com/kishuast/lib/wpw/WebProgrammingWorkshop_02.pdf · 5.1 ECMAScript 5.1 (2011) Editorial changes. 6 ECMAScript 2015 Added let and const. Added default](https://reader037.vdocuments.site/reader037/viewer/2022090505/601abe910354c20876400719/html5/thumbnails/29.jpg)
29
JavaScript
var pi = 3.14; //Number
var firstName = "fname"; //String
var flag = true; //Boolean (true/false)
var colors = ["Blue", "Green", "Red"]; //Array
var car = {manufacturer:"BMW", model:"Z4", doors: 2}; //Object
var lastName = ""; //String
var x; var n = null;
null === undefined // false
null == undefined // true
Data Types
.استObjectآرایه از نوع
Type: undefinedValue: undefined
Type: objectValue: null
.هم نوع و هم مقدار مقایسه می شود
.فقط مقدار مقایسه می شود
![Page 30: Web Programming Workshopmontajab.com/kishuast/lib/wpw/WebProgrammingWorkshop_02.pdf · 5.1 ECMAScript 5.1 (2011) Editorial changes. 6 ECMAScript 2015 Added let and const. Added default](https://reader037.vdocuments.site/reader037/viewer/2022090505/601abe910354c20876400719/html5/thumbnails/30.jpg)
30
JavaScript
:typeofعملگر
typeof "Text" // Returns "string"
typeof 3.14 // Returns "number"
typeof false // Returns "boolean"
typeof [1,2,3,4] // Returns "object" (not "array")
typeof {model:"Z4", doors: 2} // Returns "object"
typeof null // Returns "object"
typeof undefined // Returns "undefined"
Data Types
![Page 31: Web Programming Workshopmontajab.com/kishuast/lib/wpw/WebProgrammingWorkshop_02.pdf · 5.1 ECMAScript 5.1 (2011) Editorial changes. 6 ECMAScript 2015 Added let and const. Added default](https://reader037.vdocuments.site/reader037/viewer/2022090505/601abe910354c20876400719/html5/thumbnails/31.jpg)
31
JavaScript
Conditional Statements
.می شوداستفادهشرطیعباراتازمختلف،شرایطدرمختلف،اعمالانجامبرای
if (condition) {
code block
}
.اجرا خواهد شد ifبلوک کد بعد از باشد، trueشرطدرصورتی که نتیجه
:مثال
var x = 5, y = 10;if (x==4 || y==10) {
x += 10;}
.خواهد بودن}{ باز و بسته به آکوالد درصورتی که در بلوک کد مربوطه، یک عبارت وجود داشته باشد، نیازی : نکته.از هم جدا می شوندSemicolonها توسط Statementهمان طور که ذکر شد در جاوا اسکریپت
![Page 32: Web Programming Workshopmontajab.com/kishuast/lib/wpw/WebProgrammingWorkshop_02.pdf · 5.1 ECMAScript 5.1 (2011) Editorial changes. 6 ECMAScript 2015 Added let and const. Added default](https://reader037.vdocuments.site/reader037/viewer/2022090505/601abe910354c20876400719/html5/thumbnails/32.jpg)
32
JavaScript
Conditional Statements
if (condition) {
code block
} else {
code block
}
.اجرا خواهد شدelseبلوک کد بعد از باشد، falseو اگر ifبلوک کد بعد از باشد، trueشرطدرصورتی که نتیجه
:مثالvar x = 5, y = 10;if (x==4 || y==10) {
x += 10; y++;} else
x -= 10;
.در یک سطر نوشته شده اندStatementدو
![Page 33: Web Programming Workshopmontajab.com/kishuast/lib/wpw/WebProgrammingWorkshop_02.pdf · 5.1 ECMAScript 5.1 (2011) Editorial changes. 6 ECMAScript 2015 Added let and const. Added default](https://reader037.vdocuments.site/reader037/viewer/2022090505/601abe910354c20876400719/html5/thumbnails/33.jpg)
33
JavaScript
Conditional Statements
if (condition1) {
code block 1
} else if (condition2) {
code block 2
} else {
code block 3
}
.شدنخواهنداجراسومودومبلوک هایوشدهاجرااولکدبلوکفقطباشد،trueاولشرطنتیجهدرصورتی که
شرطبودنtrueدرصورتشد،خواهدبررسیدومشرطونشدهاجرااولکدبلوکاول،شرطبودنfalseدرصورت
.شدخواهداجراسومکدبلوکغیراین صورتدرمی شود؛اجرادومکدبلوک،دوم
![Page 34: Web Programming Workshopmontajab.com/kishuast/lib/wpw/WebProgrammingWorkshop_02.pdf · 5.1 ECMAScript 5.1 (2011) Editorial changes. 6 ECMAScript 2015 Added let and const. Added default](https://reader037.vdocuments.site/reader037/viewer/2022090505/601abe910354c20876400719/html5/thumbnails/34.jpg)
34
JavaScript
Conditional Statementsvar x = null;var y;
typeof x // Returns "object"typeof y // Returns "undefined"typeof z // Returns "undefined"
:Objectبررسی وجود
if (typeof myObj !== "undefined" && myObj !== null) { … } آیا ترتیب این دو شرط مهم است؟
.تعریف نشده باشد، خطا رخ خواهد دادObjectبودن بررسی شود، درصورتی که Nullبله؛ اگر ابتدا مخالف شده و نیازی به بخش false، نتیجه کلی (می شودfalseبخش اول شرط )تعریف نشده باشد Objectاما در حالت فوق اگر
.دوم شرط نبوده و بخش دوم اجرا نخواهد شد
دنشمشخصباعثاولبخشاگر،(فوقمثالمانند)استشدهتشکیلبخشدوازکهمنطقیعبارتیکدرنمود؟اجبارینیزرادومشرطشدنبررسیمی توانچگونهشد؛نخواهدبررسیدومبخشگردد،نتیجه
![Page 35: Web Programming Workshopmontajab.com/kishuast/lib/wpw/WebProgrammingWorkshop_02.pdf · 5.1 ECMAScript 5.1 (2011) Editorial changes. 6 ECMAScript 2015 Added let and const. Added default](https://reader037.vdocuments.site/reader037/viewer/2022090505/601abe910354c20876400719/html5/thumbnails/35.jpg)
35
JavaScript
.شدتابع، یک بلوک از کد است که برای انجام یک کار خاص طراحی شده است و زمانی که فراخوانی شود، اجرا خواهد
:در جاوا اسکریپت یک تابع به صورت زیر تعریف می گردد
function name(parameter1, parameter2, …) {
code…
}
.مانند متغیرهای محلی هستند.( قرار داد{ و } که بین )پارامترها در بالک تابع
.زمان فراخوانی تابع، مقادیری که به عنوان پارامتر توسط تابع دریافت می شوند، آرگومان نامیده می شوند
مشخص می شود، به عبارتی در بلوک returnتابع می تواند یک مقدار را برگرداند، این مقدار برگشتی با کلمه کلیدی
.آورده شده باشد، تابع متوقف شده و مقدار بازگشتی تعیین شده، بازگشت داده خواهد شدreturnتابع هر جا
FunctionsInvoke
![Page 36: Web Programming Workshopmontajab.com/kishuast/lib/wpw/WebProgrammingWorkshop_02.pdf · 5.1 ECMAScript 5.1 (2011) Editorial changes. 6 ECMAScript 2015 Added let and const. Added default](https://reader037.vdocuments.site/reader037/viewer/2022090505/601abe910354c20876400719/html5/thumbnails/36.jpg)
36
JavaScript
:نمونه ای از یک تابع برای محاسبه مساحت مستطیل
function rectArea(x, y) {
var area = x * y;return area;
}
:برای اجرا، فقط کافی است تابع در کد جاوا اسکریپت فراخوانی شود
var myRectArea = "Rect area: " + rectArea(10,20); // myRectArea = "Rect area: 200"
اگر پرانتزها .باید در جلوی نام تابع قرار داده شود، حتی اگر تابع فاقد پارامتر باشد)( عملگر فراخوانی تابع است، و )(
:قرارداده نشوند، مقدار انتساب داده شده، برابر متن خود تابع خواهد بود
var myRectArea = rectArea;
// myRectArea = function rectArea(x, y) { var area = x * y; return area; }
Functions
لتبدی: نکته
![Page 37: Web Programming Workshopmontajab.com/kishuast/lib/wpw/WebProgrammingWorkshop_02.pdf · 5.1 ECMAScript 5.1 (2011) Editorial changes. 6 ECMAScript 2015 Added let and const. Added default](https://reader037.vdocuments.site/reader037/viewer/2022090505/601abe910354c20876400719/html5/thumbnails/37.jpg)
37
JavaScript
تمام خودروها دارای متدها و ویژگی های مشابه ی هستند، اما مقدار ویژگی های هر خودرو می تواند
.دبا خودرو دیگر متفاوت باشد؛ همچنین متدهای هر خودرو در زمان های متفاوتی انجام می پذیرن
Objects
Object Properties Methods
car car.manufacturer = "BMW" car.start()
car.model = "Z4" car.drive()
car.doors = 2 car.brake()
… …
.استشدهطراحی(Object)شی ءبرمبتنیسادهالگوییکمبنایبراسکریپتجاوا
.می شودمشخصمقداریکو(کلیدیا)نامیکبا(Property)ویژگییکوویژگی هاستازمجموعه ایشی ءیک
.می شودشناخته(Method)متدیکعنوانبهویژگیآناین صورت درباشد،تابعیکمی تواندویژگییکمقدار
.استخودشمتدهایوویژگی هادارایکهاستشی ءیکواقعیدنیایدرخودرونمونه،یکعنوانبه
هستنداعمالیمتدها،رویبرمی توانندکه
Objectشوندانجامها.
![Page 38: Web Programming Workshopmontajab.com/kishuast/lib/wpw/WebProgrammingWorkshop_02.pdf · 5.1 ECMAScript 5.1 (2011) Editorial changes. 6 ECMAScript 2015 Added let and const. Added default](https://reader037.vdocuments.site/reader037/viewer/2022090505/601abe910354c20876400719/html5/thumbnails/38.jpg)
38
JavaScript
Objects
Object Properties Methods
car car. manufacturer = "BMW" car.start()
car.model = "Z4" car.drive()
car.doors = 2 car.brake()
… …
var car1 = {"manufacturer":"BMW", "model":"Z4", "doors": 2, "color":"Black"};
var car2 = {"manufacturer":"Honda", "model":"CR-Z", "doors": 2, "color":" White "};
car2.start = function() { ... };
![Page 39: Web Programming Workshopmontajab.com/kishuast/lib/wpw/WebProgrammingWorkshop_02.pdf · 5.1 ECMAScript 5.1 (2011) Editorial changes. 6 ECMAScript 2015 Added let and const. Added default](https://reader037.vdocuments.site/reader037/viewer/2022090505/601abe910354c20876400719/html5/thumbnails/39.jpg)
39
JavaScript
Objects
:داردوجودروشدوشی ء،یکویژگی هایبهدسترسیبرای objectName.propertyName
objectName["propertyName"]
:مثالcar.model
car["model"]
:شی ءیکمتدهایبهدسترسیروش
objectName.methodName():مثال
car.drive()
.می شوددادهبرگشت(متد)تابعتعریفشود،آورده)(بدونمتدنامدرصورتی که
![Page 40: Web Programming Workshopmontajab.com/kishuast/lib/wpw/WebProgrammingWorkshop_02.pdf · 5.1 ECMAScript 5.1 (2011) Editorial changes. 6 ECMAScript 2015 Added let and const. Added default](https://reader037.vdocuments.site/reader037/viewer/2022090505/601abe910354c20876400719/html5/thumbnails/40.jpg)
40
JavaScript
:را درنظر بگیریدpersonشیء
var person = {"firstName":"FName", "lastName":"LName"};
است؛ می توان برای این شیء یک متد در نظر گرفت که نام lastNameو firstNameاین شیء دارای ویژگی های
:کامل را برگرداند
person.fullName = function() { return this.firstName + " " + this.lastName; };
var pName = person.fullName();
Objects
![Page 41: Web Programming Workshopmontajab.com/kishuast/lib/wpw/WebProgrammingWorkshop_02.pdf · 5.1 ECMAScript 5.1 (2011) Editorial changes. 6 ECMAScript 2015 Added let and const. Added default](https://reader037.vdocuments.site/reader037/viewer/2022090505/601abe910354c20876400719/html5/thumbnails/41.jpg)
41
JavaScript
Objects
:Objectروش های ایجاد
var person = {"firstName":"FName", "lastName":"LName"};
var person = new Object();
person.firstName = " FName ";
person.lastName = " LName ";
.روش های فوق برای ایجاد یک شیء مناسب هستند-
Ob
ject
Lit
eral
Keyw
ord
new
![Page 42: Web Programming Workshopmontajab.com/kishuast/lib/wpw/WebProgrammingWorkshop_02.pdf · 5.1 ECMAScript 5.1 (2011) Editorial changes. 6 ECMAScript 2015 Added let and const. Added default](https://reader037.vdocuments.site/reader037/viewer/2022090505/601abe910354c20876400719/html5/thumbnails/42.jpg)
42
JavaScript
Objects
:Objectروش های ایجاد
:، برای ایجاد تعدادی شیء از آن نوع، از تابع سازنده استفاده می کنیمObjectدر صورت نیاز به یک نوع
function person(fName, lName){
this.firstName = fName;
this.lastName = lName;
}
var person1 = new person("FName1", "LName1");
var person2 = new person("FName2", "LName2");
Ob
ject
Co
nst
ruct
or
![Page 43: Web Programming Workshopmontajab.com/kishuast/lib/wpw/WebProgrammingWorkshop_02.pdf · 5.1 ECMAScript 5.1 (2011) Editorial changes. 6 ECMAScript 2015 Added let and const. Added default](https://reader037.vdocuments.site/reader037/viewer/2022090505/601abe910354c20876400719/html5/thumbnails/43.jpg)
44
JavaScript
Scope
.داریمدسترسیآن هابهکهاستمتغیرهاییازمجموعه ای،(Scope)حوزه
ازمجموعه ایScopeبنابراینمی شوند؛گرفتهنظردرمتغیرعنوانبهنیزتوابعواشیاءاسکریپت،جاوادر
.داریمدسترسیآن هابهکهاستتوابعیواشیاءمتغیرها،
بلکهنیست(Block-level)بالکسطحدرScopeاسکریپتجاوادرنویسی،برنامهزبان هایسایربرخالف
بالکیکدرکهمتغیریمی کند،تغییرتوابعدرونScopeیعنیاست؛(Function-Level)تابعسطحدر
.استدسترسیقابل،(تابعسطحدر)بالکآنازدرخارجمی شودتعریف(}و{بین)
:هستندتعریفقابلصورتدوبهمتغیرهااسکریپتجاوادر
(LOCAL)محلیمتغیرهای•
(GLOBAL)سراسریمتغیرهای•
![Page 44: Web Programming Workshopmontajab.com/kishuast/lib/wpw/WebProgrammingWorkshop_02.pdf · 5.1 ECMAScript 5.1 (2011) Editorial changes. 6 ECMAScript 2015 Added let and const. Added default](https://reader037.vdocuments.site/reader037/viewer/2022090505/601abe910354c20876400719/html5/thumbnails/44.jpg)
45
JavaScript
Scope
آنمحلیمتغیرهایمتغیرها،اینمی شوند؛تعریفتوابعدرونکههستندمتغیرهایی:(LOCAL)محلیمتغیرهای
Local)هستنددسترسدرشده اندتعریفکهتابعیهماندرفقطومی شوندمحسوبتابع Scope).
وند،می شتعریفجداگانه ایتوابعدرچونگیرند؛قراراستفادهموردمختلفتوابعدرمی توانندهمناممتغیرهای
Scopeداشتنخواهندارتباطیهمبادرنتیجهوبودنخواهدیکسانآن هاهای.
.می شوندحذفانتها،درتابع،عملیاتشدنکاملزماندروشدهایجادمربوطهتابعشروعهنگامدرمحلیمتغیرهای
:مثال
var myColor = "Black ";function showColor() {
var myColor = "White ";document.write(myColor);
}
showColor();document.write(myColor);
White Black
![Page 45: Web Programming Workshopmontajab.com/kishuast/lib/wpw/WebProgrammingWorkshop_02.pdf · 5.1 ECMAScript 5.1 (2011) Editorial changes. 6 ECMAScript 2015 Added let and const. Added default](https://reader037.vdocuments.site/reader037/viewer/2022090505/601abe910354c20876400719/html5/thumbnails/45.jpg)
46
JavaScript
Scope
وابعتواسکریپت هاتماممی شوند؛تعریفتوابعازخارجدرکههستندمتغیرهایی:(GLOBAL)سراسریمتغیرهای
Global)دارندرامتغیرهااینبهدسترسیامکانوب،صفحه یآندرموجود Scope).
.می شوندحذفصفحه،شدنبستهزماندروشدهایجادمتغیرتعریفهنگامدرسراسریمتغیرهای
درسراسریمتغیریکعنوانبهخودکار،صورتبهمتغیرآندهیم،نسبتمقداریآنبهمتغیریکتعریفبدوناگر
.می شودگرفتهنظر
:مثالshowColor();document.write(myColor);
function showColor() {myColor = "White";
}
White
:HTMLدرScope،شی ءسراسریwindowاست؛
سراسریمتغیرهایتمامیعبارتیبه.استwindowشی ءبهمتعلق
Global Scopewindow.myColor
![Page 46: Web Programming Workshopmontajab.com/kishuast/lib/wpw/WebProgrammingWorkshop_02.pdf · 5.1 ECMAScript 5.1 (2011) Editorial changes. 6 ECMAScript 2015 Added let and const. Added default](https://reader037.vdocuments.site/reader037/viewer/2022090505/601abe910354c20876400719/html5/thumbnails/46.jpg)
47
JavaScript
Scope
JavaScript Hoisting:باالیبهمتغیرهاتعریفپیش فرض،به صورتScopeمی یابدانتقالجاری.
همانطورتهالب)نمودتعریفآن راسپسومقداردهیآن رامتغیر،یکتعریفازقبلمی تواناسکریپتجاوادربنابراین
.(.می شودگرفتهنظردرسراسریمتغیریکعنوانبهمتغیرآننشود،تعریفمتغیراگرشدذکرکه
.شوندتعریفجاریScopeابتدایدرمتغیرهاتمامتامی شودتوصیهاحتمالیخطاهایازجلوگیریجهت
;()showColor:مثالdocument.write(myColor);
function showColor() {myColor = "White";
}
White
showColor();document.write(myColor);
function showColor() {myColor = "White";
var myColor;}
.دهیدشرحکاملبه صورتنمی شود؟دادهنشدهتعریفمتغیرهایازاستفادهامکانحالتیچهدر
رخخطانشده،تعریفچونتعریفصورتی کهدر.می دهد
نشدهمقداردهیوباشدشده.برمی گرداندundefinedباشد
![Page 47: Web Programming Workshopmontajab.com/kishuast/lib/wpw/WebProgrammingWorkshop_02.pdf · 5.1 ECMAScript 5.1 (2011) Editorial changes. 6 ECMAScript 2015 Added let and const. Added default](https://reader037.vdocuments.site/reader037/viewer/2022090505/601abe910354c20876400719/html5/thumbnails/47.jpg)
48
JavaScript
Events
کدودادهنشانواکنشرخدادهااینبهمی توانداسکریپتجاواومی افتنداتفاقHTMLعناصررویبررخدادها
ستندهرخدادهاییآن هامانندوورودیفیلدیکمحتوایتغییریاوعنصریکرویبرکلیک.نمایداجرارامربوطه
.شوندادارهاسکریپتجاواتوسطمی توانندکه
event)رخدادکنندهادارهصفتیککردناضافهبرای،HTMLدر handler attribute)،صفت هاسایرمانند:
<elementName eventName='JavaScript Code'>
<elementName eventName="JavaScript Code">
رعنصرویبرکلیکهنگاماستمشخصنامشازکههمانطورکهاست؛شدهاستفادهonclickرخدادمثالایندر
:می شوددادهنمایشپنجرهیکدرنظرموردعبارتدکمهرویبرکلیکبااین جادر.می شودفراخوانیجاری
<button onclick="alert('This is a test.')">Show Alert</button>
.می کنندفراخوانیراتابعیکرخدادها،معموالاست،سطریچندرخدادهااغلبکدکهآن جاییاز
![Page 48: Web Programming Workshopmontajab.com/kishuast/lib/wpw/WebProgrammingWorkshop_02.pdf · 5.1 ECMAScript 5.1 (2011) Editorial changes. 6 ECMAScript 2015 Added let and const. Added default](https://reader037.vdocuments.site/reader037/viewer/2022090505/601abe910354c20876400719/html5/thumbnails/48.jpg)
49
JavaScript
Events
:اسکریپتجاوارخدادهایازبرخی
Event شرح
onclick HTMLکلیک بر روی عنصر هنگام
ondblclick HTMLدابل کلیک بر روی عنصر هنگام
onchange HTMLهنگام تغییر عنصر
onload اتمام بارگذاری صفحههنگام
onmouseover HTMLحرکت نشانگر موس بر روی عنصر هنگام
onmouseout HTMLرفتن نشانگر موس از روی عنصر هنگام
onkeydown فشار دادن یک کلید از صفحه کلیدهنگام
... ...
![Page 49: Web Programming Workshopmontajab.com/kishuast/lib/wpw/WebProgrammingWorkshop_02.pdf · 5.1 ECMAScript 5.1 (2011) Editorial changes. 6 ECMAScript 2015 Added let and const. Added default](https://reader037.vdocuments.site/reader037/viewer/2022090505/601abe910354c20876400719/html5/thumbnails/49.jpg)
50
JavaScript
Events
:است قرار می گیردcurrentDateآن برابر idدر بخش پاراگرافی که ()Dateبا کلیک بر روی دکمه، مقدار برگشتی از تابع
<!DOCTYPE html><html>
<body><button onclick="document.getElementById('currentDate').innerHTML=Date()">Time</button><p id="currentDate"></p>
</body></html>
:مثال
![Page 50: Web Programming Workshopmontajab.com/kishuast/lib/wpw/WebProgrammingWorkshop_02.pdf · 5.1 ECMAScript 5.1 (2011) Editorial changes. 6 ECMAScript 2015 Added let and const. Added default](https://reader037.vdocuments.site/reader037/viewer/2022090505/601abe910354c20876400719/html5/thumbnails/50.jpg)
51
JavaScript
Events
:است قرار می گیردcurrentDateآن برابر idدر بخش پاراگرافی که ()Dateبا کلیک بر روی دکمه، مقدار برگشتی از تابع
<!DOCTYPE html><html>
<script>function showDate() { document.getElementById("currentDate").innerHTML = Date(); }
</script><body>
<button onclick="showDate()">Time</button><p id="currentDate"></p>
</body></html>
:مثال
:است قرار می گیردcurrentDateآن برابر idدر بخش پاراگرافی که ()Dateبا کلیک بر روی دکمه، مقدار برگشتی از تابع
function showDate() {document.getElementById("currentDate").innerHTML = Date();
}
![Page 51: Web Programming Workshopmontajab.com/kishuast/lib/wpw/WebProgrammingWorkshop_02.pdf · 5.1 ECMAScript 5.1 (2011) Editorial changes. 6 ECMAScript 2015 Added let and const. Added default](https://reader037.vdocuments.site/reader037/viewer/2022090505/601abe910354c20876400719/html5/thumbnails/51.jpg)
52
JavaScript
Strings.می گیرندقراردوتایینقل قولیاوتکینقل قولعالمتدوبینرشته هااسکریپت،جاوادر
:نموداستفادهنقل قولعالمتازمی تواننیزرشتهیکدروندر
var s1 = "It's a book";
var s2 = "… is 'JavaScript'";
var s3 = '… is "JavaScript"';
:شودتعریفزیرصورتبهرشتهیکاگرحال
var s4 = "… is "JavaScript"";
…"بخشفقط is .شدخواهدذخیرهs4متغیردر"
:نموداستفادهویژهکاراکترهایاز\کاراکتراستفادهبامی توانمشکلاینحلبرای
var s4 = "… is \"JavaScript\"";
نمایش
escape character
![Page 52: Web Programming Workshopmontajab.com/kishuast/lib/wpw/WebProgrammingWorkshop_02.pdf · 5.1 ECMAScript 5.1 (2011) Editorial changes. 6 ECMAScript 2015 Added let and const. Added default](https://reader037.vdocuments.site/reader037/viewer/2022090505/601abe910354c20876400719/html5/thumbnails/52.jpg)
53
JavaScript
Strings
Code Outputs
\' single quote
\" double quote
\\ backslash
\n new line
\r carriage return
\t tab
\b backspace
\f form feed
![Page 53: Web Programming Workshopmontajab.com/kishuast/lib/wpw/WebProgrammingWorkshop_02.pdf · 5.1 ECMAScript 5.1 (2011) Editorial changes. 6 ECMAScript 2015 Added let and const. Added default](https://reader037.vdocuments.site/reader037/viewer/2022090505/601abe910354c20876400719/html5/thumbnails/53.jpg)
55
JavaScript
Strings
This"مانند)Primitiveمقادیر is a test.")چونObjectداراینمی توانندنتیجهدرنیستندPropertyو
Methodاجرایزماندراسکریپتجاوااما.باشندPropertyیاوهاMethod،مقادیرباهاPrimitiveمانند
Objectچنددارایرشته هاباکاربرایاسکریپتجاوا.می کندرفتارهاPropertyزیادیتعدادوMethod،است
:کردخواهیماشارهآن هاازتعدادیبهادامهدرکه
• length Property:.می گرداندبررارشتهیکطولویژگیاین
:مثال
var str = "JAVASCRIPT";var strLength = str.length;
.خواهد بود10یعنی "JAVASCRIPT"، طول رشته strLengthمقدار ذخیره شده در متغیر
![Page 54: Web Programming Workshopmontajab.com/kishuast/lib/wpw/WebProgrammingWorkshop_02.pdf · 5.1 ECMAScript 5.1 (2011) Editorial changes. 6 ECMAScript 2015 Added let and const. Added default](https://reader037.vdocuments.site/reader037/viewer/2022090505/601abe910354c20876400719/html5/thumbnails/54.jpg)
56
JavaScript
String Methods
• string.indexOf(searchvalue,start)
:یافت شده در یک رشته را برمی گرداند( مورد نظر)ایندکس اولین مکان متن
var str = "This is a test, test ...";
var p = str.indexOf("test"); // p: 10
var p = str.indexOf("test", 12); // p: 16
.برگشت داده می شود1-مقدار ایندکس از صفر شروع شده و در صورت عدم وجود متن مورد نظر، مقدار
.تعیین می کند که به صورت پیش فرض صفر است( از اول رشته)، نقطه شروع جستجو راstartمقدار
Cas
e Se
nsi
tive
0 105 16 23
![Page 55: Web Programming Workshopmontajab.com/kishuast/lib/wpw/WebProgrammingWorkshop_02.pdf · 5.1 ECMAScript 5.1 (2011) Editorial changes. 6 ECMAScript 2015 Added let and const. Added default](https://reader037.vdocuments.site/reader037/viewer/2022090505/601abe910354c20876400719/html5/thumbnails/55.jpg)
57
JavaScript
String Methods
• string.lastIndexOf(searchvalue,start)
:یافت شده در یک رشته را برمی گرداند( مورد نظر)ایندکس آخرین مکان متن
var str = "This is a test, test ...";
var p = str.lastIndexOf("test"); // p: 16
var p = str.lastIndexOf("test", 15); // p: 10
.برگشت داده می شود1-مقدار ایندکس از صفر شروع شده و در صورت عدم وجود متن مورد نظر، مقدار
امات؛اسرشتهطولبرابرپیش فرضبه صورتکهمی کندتعیین(رشتهانتهایاز)راجستجوشروعنقطه،startمقدار
.می شودمحاسبه(صفراز)رشتهابتدایازایندکسمقدارشد،ذکرکههمان طور
Cas
e Se
nsi
tive
![Page 56: Web Programming Workshopmontajab.com/kishuast/lib/wpw/WebProgrammingWorkshop_02.pdf · 5.1 ECMAScript 5.1 (2011) Editorial changes. 6 ECMAScript 2015 Added let and const. Added default](https://reader037.vdocuments.site/reader037/viewer/2022090505/601abe910354c20876400719/html5/thumbnails/56.jpg)
58
JavaScript
String Methods
• string.search(searchvalue)
:یافت شده در یک رشته را برمی گرداند( مورد نظر)ایندکس اولین مکان متن
var str = "This is a test, test ...";
var p = str.search("test"); // p: 10
.برگشت داده می شود1-مقدار ایندکس از صفر شروع شده و در صورت عدم وجود متن مورد نظر، مقدار
.دهیدشرحمثالچندذکربارا()indexOfو()searchمتدهایتفاوت
![Page 57: Web Programming Workshopmontajab.com/kishuast/lib/wpw/WebProgrammingWorkshop_02.pdf · 5.1 ECMAScript 5.1 (2011) Editorial changes. 6 ECMAScript 2015 Added let and const. Added default](https://reader037.vdocuments.site/reader037/viewer/2022090505/601abe910354c20876400719/html5/thumbnails/57.jpg)
59
JavaScript
String Methods
• string.slice(start,end)
.، بخشی از یک رشته را برمی گرداندendو startبا تعیین دو ایندکس
var str = "This is a test, test ...";
var s = str.slice(8,14); // s: "a test"
var s = str.slice(8); // s: "a test, test …"
:اگر مقدار پارامتر منفی باشد، ایندکس از انتهای رشته درنظر گرفته می شود
var s = str.slice(-14,-9); // s: "test,"
var s = str.slice(-14); // s: "test, test …"
0 8 14 23
هماز ایندکس هشتم تا قبل از ایندکس چهارد
از ایندکس هشتم به بعد
var str = "This is a test, test ...";
09-13-23-
![Page 58: Web Programming Workshopmontajab.com/kishuast/lib/wpw/WebProgrammingWorkshop_02.pdf · 5.1 ECMAScript 5.1 (2011) Editorial changes. 6 ECMAScript 2015 Added let and const. Added default](https://reader037.vdocuments.site/reader037/viewer/2022090505/601abe910354c20876400719/html5/thumbnails/58.jpg)
60
JavaScript
String Methods
• string.substring(start,end)
.با تعیین دو ایندکس شروع و پایان، بخشی از یک رشته را برمی گرداند
var str = "This is a test, test …";
var s = str.substring(8,14); // s: "a test"
var s = str.substring(8); // s: "a test, test …"
.نمی توانند منفی باشندendو startدر این متد ایندکس منفی قابل قبول نیست؛ بنابراین
0 8 14 23
هماز ایندکس هشتم تا قبل از ایندکس چهارد
از ایندکس هشتم به بعد
![Page 59: Web Programming Workshopmontajab.com/kishuast/lib/wpw/WebProgrammingWorkshop_02.pdf · 5.1 ECMAScript 5.1 (2011) Editorial changes. 6 ECMAScript 2015 Added let and const. Added default](https://reader037.vdocuments.site/reader037/viewer/2022090505/601abe910354c20876400719/html5/thumbnails/59.jpg)
61
JavaScript
String Methods
• string.substr(start,length)
.، بخشی از یک رشته را برمی گرداند(length)و طول رشته ( start)با تعیین ایندکس شروع
var str = "This is a test, test …";
var s = str.substr(8,6); // s: "a test"
var s = str.substr(8); // s: "a test, test …"
:همیشه مثبت استlengthمنفی باشد، ایندکس از انتهای رشته درنظر گرفته می شود، اما startاگر مقدار
var s = str.substr(-16,6); // s: "a test,"
var s = str.substr(-16); // s: "a test, test …"
0 8 14 23
از ایندکس هشتم به طول شش کاراکتر
از ایندکس هشتم به بعد
![Page 60: Web Programming Workshopmontajab.com/kishuast/lib/wpw/WebProgrammingWorkshop_02.pdf · 5.1 ECMAScript 5.1 (2011) Editorial changes. 6 ECMAScript 2015 Added let and const. Added default](https://reader037.vdocuments.site/reader037/viewer/2022090505/601abe910354c20876400719/html5/thumbnails/60.jpg)
62
JavaScript
String Methods
• string.replace(searchvalue,newvalue)
جایگزین کرده و ( newvalue)را در درون رشته ی اصلی با یک رشته جدید ( searchvalue)رشته ی موردنظر
.مقدار حاصل را برمی گرداند؛ اما رشته ی اصلی را تغییر نمی دهد
var str = "This is a test, test …";
var s = str.replace("test","Test1"); // s: "This is a Test1, test …"
اده از به صورت پیش فرض این متد فقط بر روی اولین رشته یافت شده اعمال می شود، اما امکان استف
Regular Expression به عنوان مقدار جستجو(searchvalue )وجود دارد :
var s = str.replace(/test/g,"Test1"); // s: "This is a Test1, Test1 …"
Regular Expression
![Page 61: Web Programming Workshopmontajab.com/kishuast/lib/wpw/WebProgrammingWorkshop_02.pdf · 5.1 ECMAScript 5.1 (2011) Editorial changes. 6 ECMAScript 2015 Added let and const. Added default](https://reader037.vdocuments.site/reader037/viewer/2022090505/601abe910354c20876400719/html5/thumbnails/61.jpg)
63
JavaScript
String Methods
• string.toUpperCase()
.هدتمام حروف رشته ی مورد نظر را به حروف بزرگ تبدیل کرده و بر می گرداند؛ اما رشته ی اصلی را تغییر نمی د
var str = "This is a test, test …";
var s = str.toUpperCase(); // s: "THIS IS A TEST, TEST …"
• string.toLowerCase()
. دهدتمام حروف رشته ی مورد نظر را به حروف کوچک تبدیل کرده و بر می گرداند؛ اما رشته ی اصلی را تغییر نمی
var str = "This is a test, TEST …";
var s = str.toLowerCase(); // s: "this is a test, test …"
![Page 62: Web Programming Workshopmontajab.com/kishuast/lib/wpw/WebProgrammingWorkshop_02.pdf · 5.1 ECMAScript 5.1 (2011) Editorial changes. 6 ECMAScript 2015 Added let and const. Added default](https://reader037.vdocuments.site/reader037/viewer/2022090505/601abe910354c20876400719/html5/thumbnails/62.jpg)
64
JavaScript
String Methods
:مثال
var str = "This is a Blue, … not green … blue";
var s = str.replace(/blue|green/gi, function myFunc(x){return x.toUpperCase();});
// s = "This is a BLUE, … not GREEN … BLUE"
Regularاز،replaceمتداولآرگومانبه عنوان Expressionعبارتکرده ایم،استفاده/blue|green/gi
.می کندانتخابآن هاحروفبودنبزرگیاکوچکگرفتندرنظربدونراgreenوblueکلماتتمام
:می گرداندبروکردهتبدیلبزرگحروفبهرادریافتیمقدارتابعاینکهنوشته ایمتابعیکدوم،آرگومانبه عنوانfunction myFunc(x){
return x.toUpperCase();}
![Page 63: Web Programming Workshopmontajab.com/kishuast/lib/wpw/WebProgrammingWorkshop_02.pdf · 5.1 ECMAScript 5.1 (2011) Editorial changes. 6 ECMAScript 2015 Added let and const. Added default](https://reader037.vdocuments.site/reader037/viewer/2022090505/601abe910354c20876400719/html5/thumbnails/63.jpg)
66
JavaScript
Switch Statement
:استفاده می شودswitchبرای انتخاب و اجرای یکی از بلوک های کد، از
switch(expression) {
case n:
code block
break;
case n:
code block
break;
default:
default code block
}
ها مقایسه caseیکبار به ترتیب با مقدار هر یک از switchعبارت .شده و درصورت برابر بودن با هر کدام، آن بلوک اجرا می شود
ازیکهیچباswitchعبارتصورتی کهدرcaseکدبلوکنبودبرابرهاdefaultمی شوداجرا.
break باعث خارج شدن از بلوکswitch می شود؛ در صورتانتخاب شده، اجرای کد تا caseدر انتهای breakعدم وجود
.ادامه پیدا می کندbreakو یا رسیدن به switchانتهای
![Page 64: Web Programming Workshopmontajab.com/kishuast/lib/wpw/WebProgrammingWorkshop_02.pdf · 5.1 ECMAScript 5.1 (2011) Editorial changes. 6 ECMAScript 2015 Added let and const. Added default](https://reader037.vdocuments.site/reader037/viewer/2022090505/601abe910354c20876400719/html5/thumbnails/64.jpg)
67
JavaScript
Switch Statementswitch (new Date().getDay()) {
case 0:day = "Sunday";break;
case 1:day = "Monday";break;
case 2:day = "Tuesday";break;
case 3:day = "Wednesday";break;
case 4:day = "Thursday";break;
case 5:day = "Friday";break;
case 6:day = "Saturday";
}
getDay() را برمی گرداند، 6تا 0عددی بین. که در این جا معادل روز جاری است
کلمه،2معادلکدبلوکدروباشدسه شنبهامروزاگرbreakبهمقداریچهباشد،نداشتهوجودdayاختصاص
شد؟خواهددادهday = "Wednesday"
![Page 65: Web Programming Workshopmontajab.com/kishuast/lib/wpw/WebProgrammingWorkshop_02.pdf · 5.1 ECMAScript 5.1 (2011) Editorial changes. 6 ECMAScript 2015 Added let and const. Added default](https://reader037.vdocuments.site/reader037/viewer/2022090505/601abe910354c20876400719/html5/thumbnails/65.jpg)
68
JavaScript
Switch Statementswitch (new Date().getDay()) {
case 0:
case 1:
case 2:
default:
weekend = false;
break;
case 6:
weekend = true;
break;
case 4:
case 5:
weekend = false;
}
.بیایدبلوکآخردرحتماdefaultکهنداردلزومی
![Page 66: Web Programming Workshopmontajab.com/kishuast/lib/wpw/WebProgrammingWorkshop_02.pdf · 5.1 ECMAScript 5.1 (2011) Editorial changes. 6 ECMAScript 2015 Added let and const. Added default](https://reader037.vdocuments.site/reader037/viewer/2022090505/601abe910354c20876400719/html5/thumbnails/66.jpg)
69
JavaScript
Loops.با استفاده از حلقه، می توان یک بخش از کد را چندین بار تکرار کرد
:در جاوا اسکریپت چندین نوع حلقه وجود دارد که متناسب با نیاز می توان از آن ها استفاده نمود
:forحلقه . 1
for (statement 1; statement 2; statement 3) {
code block
}.قبل از حلقه اجرا می شود؛ معموال برای مقداردهی اولیه مقادیر حلقه بکار می رودعبارت اول •
.باشد، حلقه تکرار می شودtrueحلقه است؛ تا زمانی که نتیجه این شرط ( تکرار)شرط اجرای عبارت دوم •
.بعد از هر بار اجرای حلقه، اجرا می شود؛ معموال برای تغییر مقادیر شرط بکار می رودعبارت سوم •var x = 0;
for (var i = 0, j = 10; i < 10; i++) {x += 2;
}
![Page 67: Web Programming Workshopmontajab.com/kishuast/lib/wpw/WebProgrammingWorkshop_02.pdf · 5.1 ECMAScript 5.1 (2011) Editorial changes. 6 ECMAScript 2015 Added let and const. Added default](https://reader037.vdocuments.site/reader037/viewer/2022090505/601abe910354c20876400719/html5/thumbnails/67.jpg)
70
JavaScript
Loops
:forحلقه . 1
for (statement 1; statement 2; statement 3) {
code block
}
.(.با ویرگول از هم جدا می شوند)می توان چندین متغیر را نیز مقداردهی کرد عبارت اول در•
حلقهازخروجبرایbreakدستورازکدبهتوجهباومناسبجایدرحلقهدرونبایدباشد،خالیدومعبارتاگر•
.شدخواهدمروگرcrashباعثونمی پذیردپایانهیچ گاهحلقهغیراین صورتدرنمود،استفاده
.خالی باشد، درصورت نیاز می توان مقادیر شرط را درون حلقه تغییر دادعبارت سوم اگر •
.این عبارات، هر سه اختیاری هستند
:آیا حلقه زیر صحیح است؟ توضیح دهید
for(;;){ code block }
![Page 68: Web Programming Workshopmontajab.com/kishuast/lib/wpw/WebProgrammingWorkshop_02.pdf · 5.1 ECMAScript 5.1 (2011) Editorial changes. 6 ECMAScript 2015 Added let and const. Added default](https://reader037.vdocuments.site/reader037/viewer/2022090505/601abe910354c20876400719/html5/thumbnails/68.jpg)
71
JavaScript
Loops
:for/inحلقه . 2
for (var in object) {
code block
}.در این نوع حلقه، بلوک کد، برای هر یک از ویژگی های شی ء یکبار تکرار می شود
. ، مقدار متغیر تعیین شده، برابر با نام ویژگی های شی ء خواهد بود(به ترتیب)در هر تکرار
var car = {manufacturer:"BMW", model:"Z4", color:"Black"};
var text1 = "";var text2 = "";for (var c in car) {
text1 += c + "-";text2 += car[c] + "-";
}
text1 = "manufacturer-model-color-"text2 = "BMW-Z4-Black-"
c in car
• manufacturer
• model
• color
![Page 69: Web Programming Workshopmontajab.com/kishuast/lib/wpw/WebProgrammingWorkshop_02.pdf · 5.1 ECMAScript 5.1 (2011) Editorial changes. 6 ECMAScript 2015 Added let and const. Added default](https://reader037.vdocuments.site/reader037/viewer/2022090505/601abe910354c20876400719/html5/thumbnails/69.jpg)
72
JavaScript
Loops
:whileحلقه . 3
while (condition) {
code block
}.باشد تکرار می شودtrueشرطدر این نوع حلقه، بلوک کد، تا زمانی که
پذیرد، در می توان مقادیری که بر روی تاثیر می گذارند را درون حلقه تغییر داد، تا بعد از چند تکرار مورد نیاز، حلقه پایان ب
.مروگر خواهد شدcrashغیراین صورت حلقه هیچ گاه پایان نمی پذیرد و باعث
var x = 1, y = 10;while (x < 5) {
y *= x ;x++;
}
x = 5y = 240 .پیاده سازی کنیدforرا با whileحلقه
![Page 70: Web Programming Workshopmontajab.com/kishuast/lib/wpw/WebProgrammingWorkshop_02.pdf · 5.1 ECMAScript 5.1 (2011) Editorial changes. 6 ECMAScript 2015 Added let and const. Added default](https://reader037.vdocuments.site/reader037/viewer/2022090505/601abe910354c20876400719/html5/thumbnails/70.jpg)
73
JavaScript
Loops
:do/whileحلقه . 4
do {
code block
} while (condition)
باشد تکرار می شود؛ اما با تفاوت که چون شرط بعد از trueشرط، بلوک کد، تا زمانی که whileدر این نوع حلقه مانند حقله
.باشدfalseبلوک کد بررسی می شود، بلوک کد حداقل یکبار اجرا خواهد شد؛ حتی اگر شرط
var x = 1, y = 10;do {
y *= x ;x++;
} while (x < 1)
x = 2y = 10
![Page 71: Web Programming Workshopmontajab.com/kishuast/lib/wpw/WebProgrammingWorkshop_02.pdf · 5.1 ECMAScript 5.1 (2011) Editorial changes. 6 ECMAScript 2015 Added let and const. Added default](https://reader037.vdocuments.site/reader037/viewer/2022090505/601abe910354c20876400719/html5/thumbnails/71.jpg)
74
JavaScript
Loops
break:
.در حلقه، باعث خروج از بلوک کد حلقه می شودbreakاستفاده از عبارت
.( می شودswitchنیز باعث خروج از بلوک کد switchدر breakعبارت)
continue :
کدبلوکاجرایقطعباعثاست،همراهشرطیکبامعموالکهحلقه،درcontinueعبارتازاستفاده
. رودمیبعدیتکراربهباشدبرقرارشرطصورتی کهدربلکهنشده،خارجحلقهازbreakماننداماشده،
Label :break labelName;continue labelName;
.دهیدشرحمثالذکرباراcontinueوbreakعباراتدرlableکاربردواستفادهنحوه
![Page 72: Web Programming Workshopmontajab.com/kishuast/lib/wpw/WebProgrammingWorkshop_02.pdf · 5.1 ECMAScript 5.1 (2011) Editorial changes. 6 ECMAScript 2015 Added let and const. Added default](https://reader037.vdocuments.site/reader037/viewer/2022090505/601abe910354c20876400719/html5/thumbnails/72.jpg)
75
JavaScript
مواردیاواطالعاتاشتباهورودبرنامه،کددرایرادبه دلیلاستممکناسکریپت،جاواکداجرایهنگام
ازنشدهیپیش بینخطاهایاینوقوعازجلوگیریبرای.دهدرخمختلفیخطاهایدیگر،نشدهپیش بینی
:می شوداستفادهزیرساختار
try {try statements
}catch(exceptionVar) {
catch statements}finally {
finally statements}
Exception Handling
.قرار می گیردtryکد، جهت بررسی وجود خطا، در بالک
.اجرا خواهد شدfinallyدر هر دو صورت بروز خطا و عدم بروز خطا، بالک کد
.جهت رسیدگی به خطا اجرا خواهد شدcatchدر صورت بروز خطا، بالک کد
exceptionVarخطای اتفاق افتاده را مشخص می کند.
![Page 73: Web Programming Workshopmontajab.com/kishuast/lib/wpw/WebProgrammingWorkshop_02.pdf · 5.1 ECMAScript 5.1 (2011) Editorial changes. 6 ECMAScript 2015 Added let and const. Added default](https://reader037.vdocuments.site/reader037/viewer/2022090505/601abe910354c20876400719/html5/thumbnails/73.jpg)
76
JavaScript
:مثال
Exception Handling
<!DOCTYPE html><html><body>
<p id="msgExp"></p><p id="msgFinally"></p>
<script>try {
alert1("Hello!");}catch(exp) {
document.getElementById("msgExp").innerHTML = exp.message;}finally {
document.getElementById("msgFinally").innerHTML = "Finally ...";}
</script>
</body></html>
alert1 is not defined
Finally ...
alert1 is not defined
![Page 74: Web Programming Workshopmontajab.com/kishuast/lib/wpw/WebProgrammingWorkshop_02.pdf · 5.1 ECMAScript 5.1 (2011) Editorial changes. 6 ECMAScript 2015 Added let and const. Added default](https://reader037.vdocuments.site/reader037/viewer/2022090505/601abe910354c20876400719/html5/thumbnails/74.jpg)
77
JavaScript
:مثال
Exception Handling
positive
<!DOCTYPE html><html><body>
<p id="msgExp"></p>
<script>var x = "1";
try {if(x == "") throw "empty";if(isNaN(x)) throw "not a number";if(Number(x) > 0) throw "positive";if(Number(x) > 0) throw "p o s i t i v e";
}catch(exp) {
document.getElementById("msgExp").innerHTML = exp;}
</script>
</body></html>
ا، در صورت برقراری هر شرط، مقدار پیغام خطخواهد throwبرابر مقدار تعیین شده توسط
.شد و شروط دیگر بررسی نخواهند شد
![Page 75: Web Programming Workshopmontajab.com/kishuast/lib/wpw/WebProgrammingWorkshop_02.pdf · 5.1 ECMAScript 5.1 (2011) Editorial changes. 6 ECMAScript 2015 Added let and const. Added default](https://reader037.vdocuments.site/reader037/viewer/2022090505/601abe910354c20876400719/html5/thumbnails/75.jpg)
78
JavaScript
Objects
.هستندObjectهمه،Primitiveمقادیربجزمتغیرها،تماماسکریپتجاوادر
.شوندتعریفObjectبه صورتمی توانندنیزرشته هاواعداد،Booleanالبته
Primitive ValuesStrings
Numberstruefalsenull
undefined
Objectحاویمی توانندامامی شوند،محسوبمتغیرنیزها
زوج هایبه صورتمتغیرهااینکهباشند؛زیادیمتغیرهای
name)مقدار/نام : value)همازویرگولباوشدهنوشته
.می شوندجدا
ObjectsDates Maths
Regular expressions Arrays
FunctionsObjects
BooleansNumbers
Strings
newبا کلمه کلیدی
Property
![Page 76: Web Programming Workshopmontajab.com/kishuast/lib/wpw/WebProgrammingWorkshop_02.pdf · 5.1 ECMAScript 5.1 (2011) Editorial changes. 6 ECMAScript 2015 Added let and const. Added default](https://reader037.vdocuments.site/reader037/viewer/2022090505/601abe910354c20876400719/html5/thumbnails/76.jpg)
79
JavaScript
ObjectsJSON (JavaScript Object Notation)
JSONسبکدادهتبادلفرمتیک(lightweight)کردنتفسیروتولیدوانسانبرایآننوشتنوخواندنکهاست
.می کندپیرویقوانینیازاما،استزبانازمستقلوبودهمتنیصورته بJSON.استآسانماشین هابرایآن
JSONمقدار/نامزوج هایازنامنظممجموعه ییک(name/value)باوشروعباز،آکوالدبامجموعهایناست؛
هماز(ویرگول),بامقدار/نامزوج هایومی گیردقرار(نقطهدو):یکنامهرانتهایدر.می شودتمامبسته،آکوالد
.می شوندجدا
![Page 77: Web Programming Workshopmontajab.com/kishuast/lib/wpw/WebProgrammingWorkshop_02.pdf · 5.1 ECMAScript 5.1 (2011) Editorial changes. 6 ECMAScript 2015 Added let and const. Added default](https://reader037.vdocuments.site/reader037/viewer/2022090505/601abe910354c20876400719/html5/thumbnails/77.jpg)
80
JavaScript
ObjectsJSON (JavaScript Object Notation)
:سادهJSONیک
var myJSON1 = {"firstName":"fname", "lastName":"lname"};
:هاJSONازآرایه ای
var myJSON2 = [{"firstName":"fname1","lastName":"lname1"},{"firstName":"fname2","lastName":"lname2"}];
:JSONیکحاویرشته،یک
var myJSON3Text = '{ "users" : ['{ "firstName":"fname1" , "lastName":"lname1" },' +
'{ "firstName":"fname2" , "lastName":"lname2" }]}';
:JSONبهmyJSON3Textرشته یتبدیلبرای
var myJSON3 = JSON.parse(myJSON3Text);
propertyproperty
![Page 78: Web Programming Workshopmontajab.com/kishuast/lib/wpw/WebProgrammingWorkshop_02.pdf · 5.1 ECMAScript 5.1 (2011) Editorial changes. 6 ECMAScript 2015 Added let and const. Added default](https://reader037.vdocuments.site/reader037/viewer/2022090505/601abe910354c20876400719/html5/thumbnails/78.jpg)
81
JavaScript
نکته ها
.نماییداستفادهلزومصورتدرفقطوکمترسراسریتوابعواشیاءمتغیرها،از•
.نماییدتعریف(varکلیدیکلمهبا)محلیبه صورتتوابعدررامتغیرهاتمام•
JavaScript:پیش فرض)دهیدقرارتابعیااسکریپتهرابتدایدرراتعاریفتمام• hoisting).
ممکناجرا،سرعتکردنکندعالوهزیرانکنید؛تعریفObjectصورتبهراهاbooleanواعدادرشته ها،•
.باشندداشتهنیزجانبیتاثیرات
:نتیجهدرمی شوند،ذخیرهبیتی64اعشاریصورتبهاعدادتماماسکریپتجاوادر•
var a = 0.9;var b = 0.7;
var c = a - b; // c = 0.20000000000000007var c = (a * 10 - b * 10) / 10; // c = 0.2 راه حل