توابع در جاوااسکریپت

از ویکی کد
(تفاوت) → نسخهٔ قدیمی‌تر | نمایش نسخهٔ فعلی (تفاوت) | نسخهٔ جدیدتر ← (تفاوت)
پرش به ناوبری پرش به جستجو


JavaScript Functions

توابع در جاوااسکریپت

A JavaScript function is a block of code designed to perform a particular task.

یک تابع جاوااسکریپت بلاکی از کدهاست که برای انجام یک کار به خصوص، طراحی شده‌اند.

A JavaScript function is executed when "something" invokes it (calls it).

یک تابع جاوااسکریپت زمانی اجرا می‌شود که «چیزی» آن را اجرا کند (فراخوانی کند).

Example

function myFunction(p1, p2) {

return p1 * p2;   // The function returns the product of p1 and p2

}

JavaScript Function Syntax

syntax یا شیوه تعریف توابع در جاوااسکریپت

A JavaScript function is defined with the function keyword, followed by a name, followed by parentheses ().

یک تابع جاوااسکریپت با کلمه کلیدی function شروع می‌شود که بعد از این کلمه کلیدی، نام تابع قرار می‌گیرد و پس از نام نیز () قرار گرفته‌اند.

Function names can contain letters, digits, underscores, and dollar signs (same rules as variables).

نام توابع می‌تواند شامل حروف، اعداد، علامت زیر خط (_) و علامت دلار باشد (همانند قوانینی که برای نام متغیرها وجود دارد )

The parentheses may include parameter names separated by commas:

(parameter1, parameter2, ...)

پرانتزها می‌توانند شامل نام پارامترهای تابع باشد که به وسیله علامت ویرگول یا Comma از یکدیگر جدا شده‌اند. (پارامتر ۱، پارامتر دو)

The code to be executed, by the function, is placed inside curly brackets: {}

کدی که می‌بایست هنگام فراخوانی تابع اجرا شود، درون آکولاد {}‌ها قرار می‌گیرد.

function name(parameter1, parameter2, parameter3) {

// code to be executed

}

Function parameters are listed inside the parentheses () in the function definition.

لیست پارامتر‌های تابع هنگام تعریف تابع، درون پرانتز قرار می‌گیرند.

Function arguments are the values received by the function when it is invoked.

آرگومان‌های تابع، مقادیری هستند که به هنگامی که تابع فراخوانی می‌شود به تابع پاس داده می‌شود.

Inside the function, the arguments (the parameters) behave as local variables.

درون یک تابع، آرگومان‌ها (پارامترهای تابع) همانند متغیرهای محلی یا local رفتار می‌کنند.

A Function is much the same as a Procedure or a Subroutine, in other programming languages.

تابع‌ها در جاوااسکریپت بسیار شبیه procedureها یا subroutineها در سایر زبانهای برنامه‌نویسی هستند.

Function Invocation

اجرای تابع

The code inside the function will execute when "something" invokes (calls) the function:

کدی که درون یک تابع قرار دارد زمانی اجرا می‌شود که تابع اجرا (فراخوانی) شود:

 When an event occurs (when a user clicks a button)

زمانی که یک رویداد رخ می‌دهد (همانند زمانی که کاربر بر روی یک دکمه کلیک می‌کند)

 When it is invoked (called) from JavaScript code

زمانی که تابع توسط کد جاوااسکریپت اجرا (فراخوانی) شود.

 Automatically (self invoked)

به صورت خودکار (اجرای خودکار)

You will learn a lot more about function invocation later in this tutorial.

شما درمورد اجرای توابع در فصول آینده این آموزش مطالب بیشتری را خواهید آموخت.

If the function was invoked from a statement, JavaScript will "return" to execute the code after the invoking statement.

اگر تابع از یک عبارت فراخوانی شود، جاوااسکریپت پس از اجرای کامل عبارت، بازمی‌گردد تا تابع را اجرا کند.

Functions often compute a return value. The return value is "returned" back to the "caller":

توابع اغلب یک مقدار بازگشتی را محاسبه می‌کنند. مقدار بازگشتی به فراخوانی کننده بازمی‌گرداند.

Example

Calculate the product of two numbers, and return the result:

var x = myFunction(4, 3); // Function is called, return value will end up in x

function myFunction(a, b) {

return a * b;             // Function returns the product of a and b

}

The result in x will be:

نتیجه یا همان مقدار X برابر خواهد بود با:

12

Why Functions?

چرا باید از توابع استفاده کنیم؟

You can reuse code: Define the code once, and use it many times.

شما می‌توانید از کد خود چندین بار استفاده کنید: یک بار کد خود را بنویسید، و چندین بار از آن استفاده کنید.

You can use the same code many times with different arguments, to produce different results.

شما می‌توانید از یک تکه کد چندین باربا آرگومانهای متفاوتی استفاده کنید تا نتایج متفاوتی را به دست آورید.

Example

Convert Fahrenheit to Celsius:

تبدیل فارنهایت به سلسیوس

function toCelsius(fahrenheit) {

return (5/9) * (fahrenheit-32);

}

document.getElementById("demo").innerHTML = toCelsius(77);

The () Operator Invokes the Function

عملگر () موجب اجرای تابع می‌شود.

Using the example above, toCelsius refers to the function object, and toCelsius() refers to the function result.

درمثال بالا، toCelsius به شیءتابع اشاره می‌کند و toCelsius() به نتیجه تابع اشاره می‌کند.

Accessing a function without () will return the function definition instead of the function result:

فراخوانی یک تابع بدون () موجب می‌شود که کدهای درون تابع به جای نتیجه تابع به عنوان خروجی بازگردانده شود.

Example

function toCelsius(fahrenheit) {

return (5/9) * (fahrenheit-32);

}

document.getElementById("demo").innerHTML = toCelsius;

Functions Used as Variable Values

استفاده از توابع همانند استفاده از مقادیر متغیرها است.

Functions can be used the same way as you use variables, in all types of formulas, assignments, and calculations.

توابع می‌توانند به همان روشی که شما از مقادیر متغیرها استفاده می‌کنید در هر نوع از فرمولها، مقداردهی‌ها و محاسبات استفاده شوند.

Example

Instead of using a variable to store the return value of a function:

به جای استفاده از یک متغیر برای ذخیره مقدار بازگشتی تابع همانند مثال زیر:

var x = toCelsius(77);

var text = "The temperature is " + x + " Celsius";

You can use the function directly, as a variable value:

شما می‌توانید فراخوانی تابع را به صورت مستقیم و همانند مقدار یک متغیر استفاده کنید:

var text = "The temperature is " + toCelsius(77) + " Celsius";

Local Variables

متغیرهای محلی

Variables declared within a JavaScript function, become LOCAL to the function.

متغیرهایی که درون یک تابع در جاوااسکریپت تعریف می‌شود، به عنوان متغیر محلی یا local آن تابع شناخته می‌شوند.

Local variables can only be accessed from within the function.

از متغیرهای محلی، در توابع مربوط به خودشان استفاده کرد.

Example

// code here can NOT use carName

function myFunction() {

var carName = "Volvo";

// code here CAN use carName

}

// code here can NOT use carName

Since local variables are only recognized inside their functions, variables with the same name can be used in different functions.

از آنجایی که متغیرهای محلی تنها در توابع مربوط به خودشان قابل استفاده هستند، شما می‌توانید از متغیرهای همنام در توابع متفاوت استفاده کنید.

Local variables are created when a function starts, and deleted when the function is completed.

متغیرهای محلی زمانی ساخته می‌شوند که اجرای تابع شروع می‌شود، و زمانی حذف می‌شوند که اجرای تابع به صورت کامل به اتمام رسیده باشد.

https://www.w3schools.com/js/js_objects.asp

JavaScript Objects

اشیا یا object در جاوااسکریپت

Real Life Objects, Properties, and Methods

اشیای دنیای واقعی، ویژگی‌ها و متدها

In real life, a car is an object.

در زندگی واقعی، اتومبیل یک شیء است.

A car has properties like weight and color, and methods like start and stop:

یک اتومبیل ویژگی‌هایی مانند وزن و رنگ دارد، و متدها یا رفتارهایی مانند روشن شدن و خاموش شدن دارد:

شیء ویژگی متد یا رفتار
car.name=fiat car.start()
car.model=۵۰۰ car.drive()
car.weight=850kg car.brake()
car.color=white car.stop()

All cars have the same properties, but the property values differ from car to car.

اتومبیل‌ها ویژگی‌های یکسانی دارند، اما مقادیر ویژگی‌ها در هر اتومبیل متفاوت از سایر اتومبیل هاست.

All cars have the same methods, but the methods are performed at different times.

تمامی اتومبیل‌ها رفتارها یا متد های یکسانی دارند، اما متدها در هر اتومبیل در زمانهای متفاوتی اجرا می‌شوند.

JavaScript Objects

اشیا در جاوااسکریپت

You have already learned that JavaScript variables are containers for data values.

شما تا الان یادگرفتید که متغیرها در جاوااسکریپت محل‌هایی برای ذخیره انواع داده هستند.

This code assigns a simple value (Fiat) to a variable named car:

کد زیر، یک متغیر با نام car را با مقدار ساده (fiat) مقدار دهی می‌کند:

var car = "Fiat";

Objects are variables too. But objects can contain many values.

شی‌ها هم متغیر هستند، اما شی‌ها می‌توانند چندین مقدار داشته باشند.

This code assigns many values (Fiat, 500, white) to a variable named car:

کد زیر یک متغیر با نام car را با چندین مقدار (fiat، ۵۰۰، سفید یا White) مقدار دهی می‌کند.

var car = {type:"Fiat", model:"500", color:"white"};

The values are written as name:value pairs (name and value separated by a colon).

این مقادیر به صورت نام: مقدار یا name:value نوشته می‌شوند (نام و مقدار به وسیله یک: از یکدیگر جدا می‌شوند )

JavaScript objects are containers for named values called properties or methods.

شی‌ها در جاوااسکریپت محلی برای ذخیرهٔ مقادیر نام دار که ویژگی یا properties یا متد یا رفتار نامیده می‌شوند، استفاده می‌شود.

Object Definition

تعریف شیءدر جاوااسکریپت

You define (and create) a JavaScript object with an object literal:

شما می‌توانید یک شیءرا همانند مثال زیر تعریف کنید. (یا بسازید)

Example

var person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};

Spaces and line breaks are not important. An object definition can span multiple lines:

فاصله‌های خالی و فاصله بین خطوط در هنگام تعریف شیءدر جاوااسکریپت اهمیتی ندارند. تعریف شیءمی‌تواند در چندین خط صورت بپذیرد:

Example

var person = {

firstName: "John",
lastName: "Doe",

age: 50,

eyeColor: "blue"

};

Object Properties

ویژگی‌های اشیاء

The name:values pairs in JavaScript objects are called properties:

در جاوااسکریپت به ترکیب مقادیر به صورت نام: مقدار یا name:value، ویژگی گفته می‌شود:

ویژگی مقدار ویژگی
Firstname یا نام John
Lastname یا نام خانوادگی Doe
Age یا سن ۵۰
Eyecolor یا رنگ چشم آبی

Accessing Object Properties

دسترسی به ویژگی‌های یک شی

A method is a function stored as a property.

یک متد یک تابع است که به صورت یک ویژگی ذخیره شده‌است.

Example

var person = {

firstName: "John",
lastName: "Doe",
id: 5566,
fullName: function() {
return this.firstName + " " + this.lastName;

}

};

The this Keyword

کلمه کلیدی this

In a function definition, this refers to the "owner" of the function.

در یک تابع، کلمه کلیدی this به «صاحب» تابع اشاره دارد.

In the example above, this is the person object that "owns" the fullName function.

در مثال بالا، this به شیءperson اشاره دارد که صاحب تابع fullname است.

In other words, this.firstName means the firstName property of this object.

به معنای دیگر، this.firstname به این معنی است که firstname ویژگی ای از این شیءاست.

Read more about the this keyword at JS this Keyword.

شما می‌توانید مطالب بیشتری را در مورد کلمه کلیدی this در فصل کلمه کلیدی this بخوانید.

Accessing Object Methods

دسترسی به متدها یا رفتارهای یک شی

You access an object method with the following syntax:

شما می‌توانید به متد یک شیءبه شیوه یا Syntax زیر دسترسی پیدا کنید:

objectName.methodName()

Example

name = person.fullName();

If you access a method without the () parentheses, it will return the function definition:

اگرشما از یک متد بدون پرانتز () استفاده کنید، این امرموجب خواهد شد تا کدهای تابع به عنوان خروجی به شما بازگردانده شود.

Example

name = person.fullName;

Do Not Declare Strings, Numbers, and Booleans as Objects!

رشته‌های متنی، اعداد یا بولین‌ها را به صورت شیءتعریف نکنید. !

When a JavaScript variable is declared with the keyword "new", the variable is created as an object:

زمانی که شما یک متغیر در جاوااسکریپت را با کلمه کلیدی "new" تعریف می‌کنید، این متغیر به صورت یک شیءیا object تعریف می‌شود:

var x = new String(); // Declares x as a String object

var y = new Number(); // Declares y as a Number object

var z = new Boolean(); // Declares z as a Boolean object

Avoid String, Number, and Boolean objects. They complicate your code and slow down execution speed.

بهتر است که از تعریف اشیای از نوع رشته‌ای یا متنی، از نوع عددی یا بولین جلوگیری کنید. این امر موجب پیچیده‌تر شدن کد شما می‌شود و سرعت اجرای کد شما را نیز می‌کاهد.

You will learn more about objects later in this tutorial.

شما در فصول آینده مطالب بیشتری را در مورد اشیا در این آموزش خواهید آموخت.

https://www.w3schools.com/js/js_events.asp

JavaScript Events

رویدادها در جاوااسکریپت

HTML events are "things" that happen to HTML elements.

رویداد html «چیزهایی» است که برای عناصر html ای اتفاق می‌افتد.

When JavaScript is used in HTML pages, JavaScript can "react" on these events.

زمانی که شما از جاوااسکریپت درون صفحات html استفاده می‌کنید، جاوااسکریپت می‌تواند این رویدادها را «مدیریت» کند.

HTML Events

رویدادها در html

An HTML event can be something the browser does, or something a user does.

یک رویداد در html می‌تواند کاری باشد که مرورگر انجام می‌دهد یا کاری باشد که یک کاربر انجام می‌دهد.

Here are some examples of HTML events:

در زیر می‌توانید مثالهایی از رویدادها در html را ببینید:

 An HTML web page has finished loading

زمانی که بارگذاری یک صفحه html به طور کامل به پایان می‌رسد.

 An HTML input field was changed

زمانی که یک فیلد ورود داده یا input field تغییر می‌کند.

 An HTML button was clicked

زمانی که بر روی یک دکمه html ای کلیک می‌شود.

Often, when events happen, you may want to do something.

اغلب، زمانی که یک رویداد رخ می‌دهد، شما می‌خواهید یک کاری را انجام دهید.

JavaScript lets you execute code when events are detected.

جاوااسکریپت به شما این اجازه را می‌دهد که کدهای خود را زمانی که رویدادهای مد نظر شما اتفاق افتاد، اجرا کنید.

HTML allows event handler attributes, with JavaScript code, to be added to HTML elements.

Html اجازه می‌دهد که به وسیلهٔ کدهای جاوااسکریپت، شما بتوانید رویدادهایی را که روی عناصر html اتفاق می‌افتد را مدیریت کنید.

With single quotes:

با علامت تک کوتیشن یا ′:

<element event='some JavaScript'>

With double quotes:

با دو کوتیشن یا ″:

<element event="some JavaScript">

In the following example, an onclick attribute (with code), is added to a <button> element:

در مثال زیر، ویژگی onclick (با کد) به یک عنصر <button> در html اضافه شده‌است:

Example

<button onclick="document.getElementById('demo').innerHTML = Date()">The time is?</button>

In the example above, the JavaScript code changes the content of the element with id="demo".

در مثال بالا، کد جوا اسکریپت محتوای عنصر را که شناسه یا id آن برابر است با کلمه "demo" را تغییر می‌دهد.

In the next example, the code changes the content of its own element (using this.innerHTML):

در مثال بعدی، کد ما محتوای عنصر html مربوط به خود را با استفاده از دستور this.innerHTML را تغییر می‌دهد:

Example

<button onclick="this.innerHTML = Date()">The time is?</button>

JavaScript code is often several lines long. It is more common to see event attributes calling functions:

کدهای جاوااسکریپت معمولاً طولانی و در چندین خط نوشته می‌شود. فراخوانی توابع در ویژگی event عنصر بسیار روش مناسبتری است:

Example

<button onclick="displayDate()">The time is?</button>

Common HTML Events

رویدادهای پر استفاده html

Here is a list of some common HTML events:

در اینجا می‌توانید لیستی از رویدادهای پر استفاده در html را ببینید:

رویداد توضیحات
Onchange زمانی که یک عنصر html تغییر می‌کند.
Onclick زمانی که کاربر بر روی یک عنصر html کلیک می‌کند.
Onmouseover زمانی که کاربر موس خود را روی یک عنصر html می‌برد.
Onmouseout زمانی که کاربر موس خود را از روی یک عنصرhtml خارج می‌کند.
Onkeydown زمانی که کاربر یک کلید از کیبرد را می‌فشارد.
Onload زمانی که بارگذاری صفحه به طور کامل پایان می‌پذیرد.

The list is much longer: W3Schools JavaScript Reference HTML DOM Events.

رویدادهای بسیاری وجود دارند، شما می‌توانید لیست کامل این رویدادها را در لینک روبه رو ببینید:

What can JavaScript Do?

جاوااسکریپت چه کاری می‌تواند انجام دهد؟

Event handlers can be used to handle, and verify, user input, user actions, and browser actions:

رویدادها می‌توانند برای مدیریت و بررسی صحت و سقم مواردی همچون، داده‌ای که کاربر به عنوان ورودی وارد می‌کند، کارهایی که کاربر و مرورگر انجام می‌دهند استفاده شوند.

 Things that should be done every time a page loads

کارهایی که باید هر دفعه که صفحه بارگذاری شد، انجام شوند.

 Things that should be done when the page is closed

کارهایی که می‌بایست زمانی که صفحه بسته شد، انجام شوند.

 Action that should be performed when a user clicks a button

عملی که می‌بایست زمانی که کاربر روی یک دکمه کلیک می‌کند انجام شود.

 Content that should be verified when a user inputs data

محتوایی که می‌بایست زمانی که کاربر داده ورودی خود را وارد می‌کند، بررسی شود.

 And more ...

و …

Many different methods can be used to let JavaScript work with events:

روشهای گوناگونی می‌توانند استفاده شوند تا به جاوااسکریپت این اجازه را بدهد که با رویدادها کار کند:

 HTML event attributes can execute JavaScript code directly

ویژگی رویداد یا event در html می‌تواند کدهای جاوااسکریپت را به صورت مستقیم اجرا کند.

 HTML event attributes can call JavaScript functions

ویژگی رویداد یا event در html می‌تواند توابع جاوااسکریپت را فراخوانی کند.

 You can assign your own event handler functions to HTML elements

شما می‌توانید مدیریت کننده رویداد یا event handler خود را به عناصر html اضافه کنید.

 You can prevent events from being sent or being handled

شما می‌توانید از رخ دادن رویدادها یا مدیریت آنها جلوگیری کنید.

You will learn a lot more about events and event handlers in the HTML DOM chapters.

شما مطالب بیشتری را در مورد رویدادها و مدیریت کننده رویدادها در فصل html doc خواهید آموخت.

https://www.w3schools.com/js/js_strings.asp

JavaScript Strings

رشته‌های متنی یا string در جاوااسکریپت

JavaScript strings are used for storing and manipulating text.

رشته‌های متنی در جاوااسکریپت برای ذخیره و ویرایش متن‌ها استفاده می‌شوند.

JavaScript Strings

رشته‌ها در جاوااسکریپت

A JavaScript string is zero or more characters written inside quotes.

یک رشته متنی در جاوااسکریپت صفر یا کاراکترهای بیشتری را در زمانی که داخل کوتیشن نوشته می‌شود در بر می‌گیرد.

Example

var x = "John Doe";

You can use single or double quotes:

شما می‌توانید از تک کوتیشن ′ یا دو کوتیشن ″ استفاده کنید:

Example

var carName1 = "Volvo XC60"; // Double quotes

var carName2 = 'Volvo XC60'; // Single quotes

You can use quotes inside a string, as long as they don't match the quotes surrounding the string:

شما می‌توانید از کوتیشن‌ها درون یک رشته متنی استفاده کنید البته به شرطی که کوتیشنی که درون رشته متنی استفاده می‌کنید با کوتیشنی که رشته متنی درون قرار گرفته همخوانی نداشته باشد:

Example

var answer1 = "It's alright";

var answer2 = "He is called 'Johnny'";

var answer3 = 'He is called "Johnny"';

String Length

طول یک رشته متنی یا String

To find the length of a string, use the built-in length property:

برای پیدا کردن طول یک رشته متنی، از ویژگی length استفاده کنید:

Example

var txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";

var sln = txt.length;

Escape Character

Escape کردن کاراکترها

Because strings must be written within quotes, JavaScript will misunderstand this string:

زیرا که رشته‌های متنی می‌بایست درون کوتیشن‌ها نوشته شوند، جاوااسکریپت رشته متنی زیر را درست درک نمی‌کند:

var x = "We are the so-called "Vikings" from the north.";

The string will be chopped to "We are the so-called ".

رشته متنی فوق به "We are the so-called " خلاصه خواهد شد.

The solution to avoid this problem, is to use the backslash escape character.

راه حل این مشکل استفاده از علامت بک اسلش یا \ قبل از کاراکتر است.

The backslash (\) escape character turns special characters into string characters:

کاراکتر بک اسلش یا \ موجب می‌شود که کاراکترهای به خصوص همانند کوتیشن به کاراکترهای متنی یا رشته‌ای تبدیل شوند:

کد نتیجه توضیحات
\′ تک کوتیشن
\’’ دو کوتیشن
\\ \ بک اسلش

The sequence \" inserts a double quote in a string:

عبارت \″ موجب ایجاد دو کوتیشن یا ″ در یک رشته متنی می‌شود:

Example

var x = "We are the so-called \"Vikings\" from the north.";

The sequence \' inserts a single quote in a string:

عبارت \′ موجب ایجاد تک کوتیشن یا ′ در یک رشته متنی می‌شود:

Example

var x = 'It\'s alright.';

The sequence \\ inserts a backslash in a string:

عبارت \\ یک بک اسلش درون یک رشته متنی ایجاد می‌کند:

Example

var x = "The character \\ is called backslash.";

Six other escape sequences are valid in JavaScript:

شش عبارت معتبر دیگر برای تبدیل کاراکترها در جاوااسکریپت:

کد نتیجه
\b ایجاد بک اسلش در رشته متنی
\f ایجاد formfeed
\n ایجاد خط جدید
\r حذف یک کاراکتر
\t ایجاد یک تب یا فاصله افقی
\v ایجاد یک فاصله عمودی

The 6 escape characters above were originally designed to control typewriters, teletypes, and fax machines. They do not make any sense in HTML.

شش کاراکتر بالا برای کنترل ماشین‌های تحریر، ماشین‌های ترجمه و دستگاه فکس طراحی شده‌اند. آنها نقشی در html ندارند.

Breaking Long Code Lines

کوچکتر کردن کدهای طولانی

For best readability, programmers often like to avoid code lines longer than 80 characters.

برای رسیدن به بیشترین خوانایی، برنامه‌نویس‌ها اغلب دوست دارند که طول کدهایشان در هر خط بیشتر از ۸۰ کاراکتر نباشد.

If a JavaScript statement does not fit on one line, the best place to break it is after an operator:

اگر یک خط کد جاوااسکریپت درون یک خط کد جا نشود، بهترین روش این است که آن را بعد از یک عملگر به دو خط تقسیم کنیم:

Example

document.getElementById("demo").innerHTML = "Hello Dolly!";

You can also break up a code line within a text string with a single backslash:

شما همچنین می‌توانید درون یک رشته متنی به وسیله یک بک اسلش یک خط خالی ایجاد کنید:

Example

document.getElementById("demo").innerHTML = "Hello \

Dolly!";

The \ method is not the preferred method. It might not have universal support.

استفاده از بک اسلش یا \ دیگر روش مناسبی نیست. این روش دیگر پشتیبانی نمی‌شود.

Some browsers do not allow spaces behind the \ character.

برخی از مرورگرها اجازه استفاده از فضای خالی پشت کاراکتر \ را نمی‌دهند.

A safer way to break up a string, is to use string addition:

راه بهتری که برای ایجاد فاصله در رشته متنی وجود دارد، استفاده از جمع رشته‌ها است:

Example

document.getElementById("demo").innerHTML = "Hello " +

"Dolly!";

You cannot break up a code line with a backslash:

شما نمی‌توانید به وسیلهٔ \ بین کدها فاصله ایجاد کنید:

Example

document.getElementById("demo").innerHTML = \

"Hello Dolly!";

Normally, JavaScript strings are primitive values, created from literals:

به صورت نرمال، رشته‌های متنی در جاوااسکریپت از نوع primitive هستند که از عبارتهای ساده شاخته شده‌است:

var firstName = "John";

But strings can also be defined as objects with the keyword new:

اما رشته‌های متنی می‌توانند به صورت یک شیءنیز به وسیلهٔ کلمه کلیدی new تعریف شوند:

var firstName = new String("John");

Example

var x = "John";

var y = new String("John");

// typeof x will return string

// typeof y will return object

Don't create strings as objects. It slows down execution speed.

The new keyword complicates the code. This can produce some unexpected results:

رشته‌های متنی را به صورت شیءتعریف نکنید. این کار موجب کاهش سرعت اجرای کد شما می‌شود. کلمه کلیدی new نیز موجب پیچیده‌تر شدن کد شما می‌شود. این امر می‌تواند موجب بروز برخی از نتایج ناخواسته نیز شود:

When using the == operator, equal strings are equal:

زمانی که از عملگر ==استفاده می‌کنید، رشته‌های برابر، با یکدیگر برابرند:

Example

var x = "John";

var y = new String("John");

// (x == y) is true because x and y have equal values

When using the === operator, equal strings are not equal, because the === operator expects equality in both type and value.

زمانی که از عملگر === استفاده می‌کنید، رشته‌های برابر با یکدیگر برابر نیستند، زیرا که عملگر === برابری عملوندهای خود را در هم مقدار آنها و هم نوع آنها بررسی می‌کند.

Example

var x = "John";

var y = new String("John");

// (x === y) is false because x and y have different types (string and object)

Or even worse. Objects cannot be compared:

و یا این کار می‌تواند نتایج بدتری نیز داشته باشد. شی‌ها در جاوااسکریپت نمی‌توانند با یکدیگر مقایسه شوند:

Example

var x = new String("John");

var y = new String("John");

// (x == y) is false because x and y are different objects

Example

var x = new String("John");

var y = new String("John");

// (x === y) is false because x and y are different objects

Note the difference between (x== y) and (x ===y).

به تفاوت بین (x== y) و (x ===y) توجه کنید.

Comparing two JavaScript objects will always return false.

نتیجه مقایسه دو شیءدر جاوااسکریپت همیشه False خواهد بود.