(In Bengali) C – Functions

আজকে আমরা এই টিটোরিয়ালে ফাংশনের সঙ্গা এবং ফাংশনকে কিভাবে স্বীকৃতি দেয়া হয় তা নিয়ে আলোচনা করব। আপনাদের আগের টিউটোরিয়ালে বলছিলাম সি প্রগ্রামিং শিখতে আপনাকে কিছুটা হলেও ইংরেজি শিখতে হবে। নিচে আমরা কিছু কিছু ইংরেজী শব্দ পরিবরতম করি নাই কারন তা ইংরেজী থেকে বাংলায় প্রবেশ করেছে। আসুন জেনে নেই কিভাবে আমরা একটি ফাংশন সম্পর্কে জানবো।

একটি ফাংশন যা অনেক গুলো গ্রুপ এর বিবৃতি যা সকলে একত্রে কাজ করে। প্রত্যেক সি প্রোগ্রাম এ কমপক্ষে একটি ফাংশন থাকে যা main(), এবং সব সবচেয়ে তুচ্ছ প্রোগ্রাম অতিরিক্ত ফাংশন নির্ধারণ করতে পারবেন.
আপনি পৃথক ফাংশন মধ্যে আপনার কোড ভাগ করতে পারেন. আপনি বিভিন্ন ফাংশন মধ্যে আপনার কোড বিভক্ত কিভাবে আপনি আপ হয়, কিন্তু যুক্তি বিভাগ সাধারণত, তাই প্রতিটি ফাংশন একটি নির্দিষ্ট টাস্ক সম্পাদন করে হয়.
একটি ফাংশন ঘোষণা একটি ফাংশন এর নাম, রিটার্ন টাইপ, এবং পরামিতি সম্পর্কে কম্পাইলার বলে. একটি functiondefinition ফাংশন প্রকৃত শরীর উপলব্ধ করা হয়.
সি মান লাইব্রেরি আপনার প্রোগ্রাম কল করতে পারেন যে অনেক বিল্ট ইন ফাংশন প্রদান করে. উদাহরণস্বরূপ, ফাংশন strcat () অন্য অবস্থান এবং আরো অনেক ফাংশন এক মেমোরি কপি দুই স্ট্রিং ফাংশন memcpy () কনক্যাটেনেট. একটি ফাংশন একটি পদ্ধতি বা একটি উপ-রুটিন বা একটি পদ্ধতি, বিভিন্ন নামের সাথে পরিচিত।
Defining a Function:
অনুসরণ হিসাবে সি প্রোগ্রামিং ভাষায় একটি ফাংশন সংজ্ঞা সাধারণ ফর্ম:
return_type function_name( parameter list )
{
body of the function
}
সি প্রোগ্রামিং ভাষা একটি ফাংশন সংজ্ঞা একটি ফাংশন হেডার এবং একটি ফাংশন শরীরের নিয়ে গঠিত. এখানে একটি ফাংশন সমস্ত অংশ:
• Return Type: একটি ফাংশন একটি মান ফিরে যেতে পারে. Return_type ফাংশন প্রদান করে মান ডাটা টাইপ. কিছু ফাংশন একটি মান ফিরে ছাড়া পছন্দসই অপারেশন সম্পাদন. এই ক্ষেত্রে, return_type শব্দ অকার্যকর হয়.
• Function Name: এই ফাংশন প্রকৃত নাম. ফাংশন নাম এবং পরামিতি তালিকা একসঙ্গে ফাংশন স্বাক্ষর গঠন করে.
• Parameters: একটি প্যারামিটার একটি স্থানধারক ভালো হয়. একটি ফাংশন প্রার্থনা করা হয়, আপনি পরামিতি একটি মান পাস. এই মান হিসাবে প্রকৃত পরামিতি অথবা যুক্তি উল্লেখ করা হয়. পরামিতি তালিকা একটি ফাংশন পরামিতি টাইপ, আদেশ, এবং সংখ্যা বোঝায়. পরামিতি ঐচ্ছিক; যে, একটি ফাংশন কোন প্যারামিটার থাকতে পারে.
• Function Body: ফাংশন শরীরের ফাংশন কি নির্ধারণ করুন যে বিবৃতির একটি সংগ্রহ রয়েছে.
Example:
একটি ফাংশন জন্য সোর্স কোড সর্বোচ্চ বলা হল (). এই ফাংশন দুটি পরামিতি num1 ও num2 নেয় এবং দুই মধ্যে সর্বোচ্চ আয়:
/* function returning the max between two numbers */
int max(int num1, int num2)
{
/* local variable declaration */
int result;

if (num1 > num2)
result = num1;
else
result = num2;

return result;
}
Function Declarations:
একটি ফাংশন ঘোষণা একটি ফাংশন নাম এবং কিভাবে ফাংশন কল সম্পর্কে কম্পাইলার বলে. ফাংশন প্রকৃত শরীর আলাদাভাবে সংজ্ঞায়িত করা যায়.
একটি ফাংশঙ্কে কয়েকটি অংশে বর্ণনা করা যায়ঃ
return_type function_name( parameter list );
উপরে বর্ণিত ফাংশন সর্বোচ্চ () জন্য, নিম্নলিখিত ভাবে ফাংশন বর্ণনা করা হয়:
int max(int num1, int num2);
পরামিতি নাম বৈধ ঘোষণা করা হয় শুধুমাত্র তাদের টাইপ যাতে নিম্নলিখিত প্রয়োজন বোধ করা হয় ফাংশন ঘোষণা গুরুত্বপূর্ণ নয়:
int max(int, int);
আপনি এক উৎস ফাইলের মধ্যে একটি ফাংশন নির্ধারণ এবং আপনি অন্য ফাইলে যে ফাংশন কল যখন ফাংশন ঘোষণা প্রয়োজন বোধ করা হয়. যেমন ক্ষেত্রে আপনি ফাংশন আহ্বান ফাইল শীর্ষে ফাংশন ঘোষণা করা উচিত.
Calling a Function:
একটি সি ফাংশন তৈরি করার সময়, আপনি ফাংশন কি আছে কি একটি সংজ্ঞা দিতে. একটি ফাংশন ব্যবহার করতে, আপনাকে সংজ্ঞায়িত কাজ করার যে ফাংশন কল করতে হবে। একটি প্রোগ্রাম একটি ফাংশন কল করার সময়, প্রোগ্রাম নিয়ন্ত্রণ ফাংশন বলা স্থানান্তর করা হয়। একটি ফাংশন বলা টাস্ক নির্ধারিত কর্ম করে এবং তার ফিরতি বিবৃতি মৃত্যুদন্ড কার্যকর করা হয় বা যখন তার কার্যকারিতা শেষ বন্ধ যুগল পৌঁছেছেন হয়। এটা প্রধান প্রোগ্রাম প্রোগ্রাম নিয়ন্ত্রণ ফেরৎ।একটি ফাংশন কল করার জন্য, আপনি কেবল ফাংশন নাম সহ পরামিতি, পাস করতে হবে, এবং ফাংশন তারপর আপনি ফিরে মান সংরক্ষণ করতে পারেন, একটি মান প্রদান করে।
উদাহরণস্বরূপ:
#include <stdio.h>

/* function declaration */
int max(int num1, int num2);

int main ()
{
/* local variable definition */
int a = 100;
int b = 200;
int ret;

/* calling a function to get max value */
ret = max(a, b);

printf( “Max value is : %d\n”, ret );

return 0;
}

/* function returning the max between two numbers */
int max(int num1, int num2)
{
/* local variable declaration */
int result;

if (num1 > num2)
result = num1;
else
result = num2;

return result;
}
I kept max() function along with main() function and compiled the source code. While running final executable, it would produce the following result:
Max value is : 200
Function Arguments:
একটি ফাংশন আর্গুমেন্ট ব্যবহার করা হয়, তাহলে এটি আর্গুমেন্ট মান গ্রহণ ভেরিয়েবল ঘোষণা করা উচিত. এই ভেরিয়েবল ফাংশন আনুষ্ঠানিক পরামিতি বলা হয়.The formal parameters behave like other local variables inside the function and are created upon entry into the function and destroyed upon exit.
একটি ফাংশন কলিং, যখন আর্গুমেন্ট একটি ফাংশন প্রেরণ করা যেতে পারে যে দুটি উপায় আছে:
Call Type Description
Call by value
This method copies the actual value of an argument into the formal parameter of the function. In this case, changes made to the parameter inside the function have no effect on the argument.
Call by reference
This method copies the address of an argument into the formal parameter. Inside the function, the address is used to access the actual argument used in the call. This means that changes made to the parameter affect the argument.

ডিফল্টরূপে, সি আর্গুমেন্ট পাস মান দ্বারা কল ব্যবহার করে. সাধারণভাবে, এই ফাংশন একই পদ্ধতি ব্যবহার () সর্বোচ্চ আহ্বান করার সময় একটি ফাংশন মধ্যে যে কোড ফাংশন কল ব্যবহৃত আর্গুমেন্ট পরিবর্তন এবং উল্লিখিত উদাহরণ উপরে না করতে পারেন।

HTML Iframe (এইচটিএমএল আইফ্রেম)

একটি iframe একটি ওয়েব পৃষ্ঠার মধ্যে আরো একটি ওয়েব পেজ প্রদর্শন করতে ব্যবহৃত হয়।

Iframe Syntax (iframe সিনট্যাক্স)

একটি iframe যোগ করার সিন্টেক্স হল :


<iframe src=”URL” width=”300″ height=”150″></iframe>


 

src অ্যাট্রিবিউট আইফ্রেম পৃষ্ঠার URL টি (ওয়েব ঠিকানা) নির্দিষ্ট করে

 

Iframe – এর উচ্চতা এবং প্রস্থতা নির্ধারন

Iframe – এর এর আকার নির্ধারণ করার জন্য height এবং width অ্যাট্রিবউট ব্যবহার করুন

অ্যাট্রিবিউট এর মান ডিফল্ট হিসেবে পিক্সেল এ থাকে, কিন্তু আপনি ইচ্ছা করলে একে পারসেন্ট হিসেবেও ব্যবহার করতে পারেন (যেমন: 80%)

 

উদাহরণ:


<iframe src=”demo_iframe.htm” width=”200″ height=”200″></iframe>


 

 

Iframe – এর বর্ডার মুছে ফেলা

ডিফল্ট হিসেবে iframe এর চারদিকে একটি কালো বর্ডার থাকে

বর্ডারটি মুছার জন্য একটি স্টাইল অ্যাট্রিবিউট যোগ করুন এবং CSS এর বর্ডার প্রোপার্টি ব্যবহার করুন

 

উদাহরণ :


<iframe src=“demo_iframe.htm” style=“border:none”></iframe>


 

CSS এর সাহায্যে iframe বর্ডার এর সাইজ, রং এবং স্টাইলও পরিবর্তন করা যায়

উদাহরণ :


<iframe src=“demo_iframe.htm” style=“border:5px dotted red”></iframe>


 

কোন একটি লিংক এর টার্গেট হিসাবে আইফ্রেম ব্যবহার করন

একটি আইফ্রেমকে কোন একটি লিঙ্ক এর টারগেট ফ্রেম হিসেবে ব্যবহার করা যায়
লিঙ্কটির target অ্যাট্রিবিউটটি অবশ্যই আইফ্রেম এর name অ্যাট্রিবিউটটিকে নির্দেশ করতে হবে

 

উদাহরণ :


<iframe src=“demo_iframe.htm” name=“iframe_a”></iframe>
<p><a href=“http://bangla.salearningschool.com” target=“iframe_a”>http://bangla.salearningschool.com</a></p>


 

এইচটিএমএল এ আইফ্রেম ট্যাগ

এইচটিএমএল এ আইফ্রেম ট্যাগ হচ্ছে : </iframe>

যা একটি ইনলাইন ফ্রেম সংজ্ঞায়িত করার জন্য ব্যবহৃত হয়।

 

 

জাভাস্ক্রিপ্ট অবজেক্ট (JavaScript Objects)

জাভাস্ক্রিপ্ট অবজেক্ট (JavaScript Objects)

-পায়েল চৌধুরী

 

বাস্তব জীবনের দৃষ্টান্তে অবজেক্টস, প্রপার্টিস এবং মেথডস

বাস্তবে একটি গাড়ী হল একটা অবজেক্ট.

গাড়ীর ওজন, রং এসব হল একটি গাড়ীর প্রপার্টিজ এবং এর চালু হবার এবং থামার মেথড আছে.

 

Object Properties Methods
 Car car.name = Fiat car.start()
car.model = 500 car.drive()
car.weight = 850 kg car.brake()
car.color = white car.stop()

 

সকল গাড়ির বৈশিষ্ট্য (Prperties) একই, কিন্ত এর মান গাড়ী থেকে গাড়ী থেকে পৃথক।
সকল গাড়ির পদ্ধতি (Methods) একই, কিন্তু মেথড সম্পন্ন হওয়ার সময় ভিন্ন হয়।

জাভাস্ক্রিপ্ট অবজেক্ট

আমরা জানি যে, জাভাস্ক্রিপ্ট ভেরিয়েবল তথ্য মানের ধারক (data values) হিসাবে কাজ করে।

নীচের কোডের ভেরিয়েবলটি গাড়ীর নামের (Fiat) একটি সাধারণ মান (simple value) হিসাবে দেয়া হয়েছে:


var car = “Fiat”;


বস্তু (Objects) সমূহও ভেরিয়েবল। কিন্তু এরা অনেক মান ধারণ করতে পারে। নীচের কোডের ভেরিয়েবলটি গাড়ীর নামের অনেকগুলো মান (Fiat, 500, white হিসাবে দেয়া হয়েছে:


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


 

মানসমূহ name:value এভাবে জোড়ায় (name কোলন value) লেখা হয়।
জাভাস্ক্রিপ্ট অবজেক্টস নামকৃত মানসমূহের (named values) ধারক হিসাবে কাজ করে।

অবজেক্ট প্র্রপার্টিজ

name:value জোড়াকে (জাভাস্ক্রিপ্ট অবজেক্টস এ) প্র্রপার্টিজ বলে।


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


Property Property Value
firstName John
lastName Doe
age 50
eyeColor blue

 

অবজেক্টস মেথডস

মেথডস হল ক্রিয়াসমূহ যা অবজেক্টস এর উপর সম্পন্ন করা হয়।
মেথডস সমূহ ফাংশন ডেফিনেশন হিসাবে প্র্রপার্টিজ এর মধ্যে সংরক্ষণ করা হয়।

Property Property Value
firstName John
lastName Doe
age 50
eyeColor blue
fullName function() {return this.firstName + ” ” + this.lastName;}

জাভাস্ক্রিপ্ট অবজেক্ট যে নামকৃত ভেলু সমূহের ধারক হিসাবে কাজ করে তাদের প্র্রপার্টিজ এবং মেথডস বলে।

অবজেক্ট নির্ধারণ

জাভাস্ক্রিপ্ট অবজেক্ট এর উদাহারণ:


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


স্পেস এবং লাইন ব্রেক গুরুত্বপূর্ণ নয়। একটি অবজেক্ট নির্ধারণ করতে একাধিক লাইন জুড়ে লিখতে হতে পারে:
উদাহারণ:


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

 

অবজেক্ট প্র্রপার্টিজ এর ব্যবহার( Accessing Object Properties)

আমরা দু’ভাবে অবজেক্ট প্র্রপার্টিজ ব্যবহার করতে পারি:


objectName.propertyName


অথবা


objectName[propertyName]


উদাহারণ ১:


person.lastName;


 

 

উদাহারণ ২:


person[“lastName”];


 

 

অবজেক্ট মেথডস এর ব্যবহার (Accessing Object Methods)

নিম্নলিখিত অনুযায়ী আমরা Object Methods ব্যবহার করতে পারি:


objectName.methodName()


 

উদাহারণ 1


name = person.fullName();


 

যদি fullName প্র্রপার্টি, () ছাড়া ব্যবহার করা হয়, তবে এটা আমাদের ফাংশন ডেফিনেশন এ ফেরত নিয়ে যাবে:
উদাহারণ 2


name = person.fullName;


 

আপনি কি জাভাস্ক্রিপ্ট এ Strings, Numbers, and Booleans কে Objects হিসেবে নির্ধারণ করেন

জাভাস্ক্রিপ্ট এ Strings, Numbers, and Booleans কে Objects হিসাবে কখনো ডিক্লেয়ার করবেননা!
যখন জাভাস্ক্রিপ্ট এ কোন ভেরিয়েবলকে “new”, কিওয়ার্ড দ্বারা ডিক্লেয়ার করা হয় তখন সে ভেরিয়েবলটি একটা অবজেক্ট তৈরী করে :


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

String, Number, and Boolean অবজেক্টস পরিহার করুন। এগুলো আপনার কোডকে জটিল করবে এবং কাজের গতিকে ধীর করে দিবে।

আমাদের সাথে থাকুন, পরবর্তীতে অবজেক্টের উপর আরো টিউটোরিয়াল পাবেন।

জাভাস্ক্রিপ্ট ইভেন্ট (JavaScript Events)

শরিফুল ইসলাম
Job category-Php Coder

এইচটিএমএল ইভেন্ট হল এমন কিছু জিনিস যা এইচটিএমএল এর উপাদানের মধ্যে ঘটে থাকে। যখন javascript এইচটিএমএল পেজ এর মধ্যে ব্যবহার হয় ,তখন javascript ওই ইভেন্ট গুলোর উপর প্রতিক্রিয়া করে।

এইচটিএমএল ইভেন্ট

একটি এইচটিএমএল ইভেন্ট তাই করে যা ব্রাউজার করে অথবা কোন ইউজার কিছু করে।

এখানে কিছু এইচটিএমএল ইভেন্ট দেয়া হল

  • এইচটিএমএল ওয়েবপেজ লোড হওয়া শেষ হয়েছে
  • ইনপুট ফিল্ড পরিবর্তন হয়েছে
  • এইচটিএমএল বাটন এ ক্লিক করা হয়েছে।

আপনি যখন কিছু করতে চান তখন কোন ইভেন্ট ঘটতে পারে।

ইভেন্ট চিহ্নিত হওয়ার পর javascript আপনার কোড কার্যে পরিণত করে।

এইচটিএমএল জাভাস্ক্রিপ্ট কোড এর সাথে ইভেন্ট handler attribute ব্যবহারের অনুমতি দেয় এবং এইচটিএমএল এলিমেন্ট এর সাথে যুক্ত করতে হয়।

একক উদ্ধৃতি চিহ্ন দিয়ে:


<some-HTML-element some-event=’some JavaScript’>


 

ডবল উদ্ধৃতি চিহ্ন দিয়ে:


<some-HTML-element some-event=”some JavaScript”>


 

এই উদাহরনে কোড এর মাধ্যমে বাটন এলিমেন্ট এর মধ্যে একটি onclick attribute ব্যবহার করা হয়েছে।
যেমন


<button onclick=”getElementById(‘demo’).innerHTML=Date()”>The time is?</button>


উপরের উদাহরণ এ javascript কোড এর একটি উপাদান এবং সেই সাথে id=”demo” এ পরিবর্তন করবে।

 

পরবর্তী উদাহরনে innerhtml ব্যবহার করে javascript কোড নিজের উপাদানের কোন কনটেন্ট কে পরিবর্তন করবে।
যেমন


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


 

অনেকসময় javascript কোড কয়েক লাইনের হয়ে থাকে। ইভেন্ট অ্যাট্রিবউট ফাংশন কল করার ক্ষেত্রে এটি খুবই সাধারন।
যেমন :


<p>Click the button to display the date.</p>

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

<script>
function displayDate() {
    document.getElementById("demo").innerHTML = Date();
}
</script>

<p id="demo"></p>

অধিক ব্যবহৃত এইচটিএমএল ইভেন্ট

ইভেন্ট

বিবরণ

Onchange এইচটিএমএল উপাদান পরিবর্তন হয়।
Onclick ব্যবহারকারী এইচটিএমএল উপাদান এর উপর ক্লিক করতে পারে।
Onmouseover ব্যবহারকারী এইচটিএমএল উপাদান এর উপর মাউস মুভ করলে ইভেন্ট কার্যকর হয়।
Onmouseout ব্যবহারকারী এইচটিএমএল এর কোন উপাদান এর উপর থেকে মাউস সরালে ইভেন্ট কার্যকর হয়।
Onkeydown ব্যবহারকারী কিবোর্ড এর কোন বাটন প্রেস করলে ইভেন্ট কার্যকর হয়।
Onload ব্রাউজার পেজ লোড হওয়া বন্ধ করে।

জাভাস্ক্রিপ্ট নাম্বার মেথড (JavaScript Number Methods)

জাভাস্ক্রিপ্ট সংখ্যা পদ্ধতি

নয়ন চন্দ্র দত্ত

 

সংখ্যা পদ্ধতি আপনাকে সংখ্যা নিয়ে কাজ করতে সাহায্য করবে।

গ্লোবাল পদ্ধতি

জাভাস্ক্রিপ্ট গ্লোবাল ফাংশন সমস্ত জাভাস্ক্রিপ্ট ডেটা টাইপে ব্যবহার করা যেতে পারে। যখন সংখ্যা নিয়ে কাজ করবেন, এইগুলো সবচেয়ে প্রাসঙ্গিক পদ্ধতিঃ

পদ্ধতিঃ Number()

ব্যাখ্যাঃ তার বিচার থেকে রূপান্তরিত একটি নম্বর প্রদান করে।

পদ্ধতিঃ parseFloat()

ব্যাখ্যাঃ Parses যা এটি বিচার করে এবং একটি ফ্লোটিং পয়েন্ট সংখ্যা ফিরিয়ে দেয়।

পদ্ধতিঃ parseInt()

ব্যাখ্যাঃ Parses যা এটি বিচার করে এবং একটি পূর্ণসংখ্যা ফিরিয়ে দেয়।

 

সংখ্যা পদ্ধতি

জাভাস্ক্রিপ্ট সংখ্যা পদ্ধতি এমন পদ্ধতি যা সংখ্যার উপর ব্যবহার করা যেতে পারেঃ

পদ্ধতিঃ toString()

ব্যাখ্যাঃ স্ট্রিং হিসেবে একটি নম্বর ফিরিয়ে দেয়।

পদ্ধতিঃ toExponential()

ব্যাখ্যাঃ বৃত্তাকার এবং সূচক স্বরলিপি ব্যবহার করে লেখা একটি সংখ্যা সঙ্গে একটি স্ট্রিং ফিরিয়ে দেয়।

পদ্ধতিঃ toFixed()

ব্যাখ্যাঃ দশমিকে একটি নির্দিষ্ট নম্বর সঙ্গে বৃত্তাকার এবং লিখিত একটি সংখ্যা সঙ্গে একটি স্ট্রিং ফিরিয়ে দেয়।

পদ্ধতিঃ toPrecision()

ব্যাখ্যাঃ একটি নির্দিষ্ট দৈর্ঘ্য সঙ্গে লিখিত নম্বর দিয়ে একটি স্ট্রিং ফিরিয়ে দেয়।

পদ্ধতিঃ valueOf()

ব্যাখ্যাঃ নম্বর হিসাবে একটি সংখ্যা ফিরিয়ে দেয়।

[ সব সংখ্যা পদ্ধতি একটি নতুন ভেরিয়েবল এ ফিরে আসে। কিন্তু তারা মূল পরিবর্তনশীল পরিবর্তন করবেন না। ]

 

toString() পদ্ধতি

toString () স্ট্রিং হিসেবে একটি নম্বর ফিরিয়ে দেয়। সব সংখ্যা পদ্ধতিতে যেকোনো ধরনের সংখ্যা ব্যবহার করা যেতে পারে (লিটারেল, ভেরিয়েবল, বা এক্সপ্রেশন)।

উদাহরণ


<!DOCTYPE html>
<html>
<body>
<p>The toString() method converts a number to a string.</p>
<p id="demo"></p>
<script>
var x = 123;
document.getElementById("demo").innerHTML =
   x.toString() + "<br>" +
   (123).toString() + "<br>" +
   (100 + 23).toString();
</script>
</body>
</html>

 

toExponential() পদ্ধতি

toExponential () বৃত্তাকার এবং সূচক স্বরলিপি ব্যবহার করে লেখা সংখ্যার সঙ্গে একটি স্ট্রিং ফিরিয়ে দেয়। একটি প্যারামিটার দশমিক পয়েন্ট পিছনে অক্ষর সংখ্যা সংজ্ঞায়িত করেঃ উদাহরণ


<!DOCTYPE html>
<html>
<body>

<p>The toExponential() method returns a string, with the number rounded and written 
using exponential notation.</p>

<p>An optional parameter defines the number of digits behind the decimal point.</p>

<p id="demo"></p>

<script>
var x = 9.656;
document.getElementById("demo").innerHTML =
    x.toExponential() + "<br>" + 
    x.toExponential(2) + "<br>" + 
    x.toExponential(4) + "<br>" + 
    x.toExponential(6);
</script>

</body>
</html>

প্যারামিটারটি ঐচ্ছিক। যদি আপনি এটি উল্লেখ না করেন, জাভাস্ক্রিপ্ট নম্বর সুসম্পন্ন হবে না।

 

toFixed() পদ্ধতি

toFixed () দশমিক দিয়ে লেখা সংখ্যার সঙ্গে একটি স্ট্রিং ফিরিয়ে দেয়।

উদাহরণ


<!DOCTYPE html>
<html>
<body>
<p>The toFixed() method rounds a number to a given number of digits.</p>
<p>For working with money, toFixed(2) is perfect.</p>
<p id="demo"></p>
<script>
var x = 9.656;
document.getElementById("demo").innerHTML =
     x.toFixed(0) + "<br>" +
     x.toFixed(2) + "<br>" +
     x.toFixed(4) + "<br>" +
     x.toFixed(6);
</script>
</body>
</html>

[ toFixed(2) টাকা দিয়ে কাজ করার জন্য যতোপযুক্ত। ]

 

toPrecision() পদ্ধতি

toPrecision () একটি নির্দিষ্ট দৈর্ঘ্য সঙ্গে লিখিত নম্বর দিয়ে একটি স্ট্রিং ফিরিয়ে দেয়।

উদাহরণ


<!DOCTYPE html>
<html>
<body>
<p>The toPrecision() method returns a string, with a number written with a 
specified length:</p>
<p id="demo"></p>
<script>
var x = 9.656;
document.getElementById("demo").innerHTML = 
     x.toPrecision() + "<br>" +
     x.toPrecision(2) + "<br>" +
     x.toPrecision(4) + "<br>" +
     x.toPrecision(6); 
</script>
</body>
</html>

 

ভেরিয়েবলকে নাম্বার এ  রূপান্তর

ভেরিয়েবলকে নাম্বার এ রূপান্তর করার জন্য জাভাস্ক্রিপ্ট এ তিনটি ফাংশন রয়েছে।

  1. Number() পদ্ধতি
  2. parseInt() পদ্ধতি
  3. parseFloat() পদ্ধতি

এই পদ্ধতিগুলো সংখ্যা পদ্ধতি না হলেও এগুলো গ্লোবাল জাভাস্ক্রিপ্ট পদ্ধতি।

 

Number() পদ্ধতি

Number() জাভাস্ক্রিপ্ট ভেরিয়েবল নাম্বার এ রূপান্তর কর‍্তে ব্যবহার করা যেতে পারেঃ

উদাহরণ


x = true;
Number(x);       // returns 1
x = false; 
Number(x);       // returns 0
x = new Date();
Number(x);       // returns 1404568027739
x = "10"
Number(x);       // returns 10
x = "10 20"
Number(x);       // returns NaN

 

parseInt() পদ্ধতি

parseInt () একটি স্ট্রিং এবং একটি পূর্ণ সংখ্যা ফিরিয়ে দেয়। স্পেস এর অনুমতি আছে। শুধুমাত্র প্রথম সংখ্যা প্রদান করেঃ উদাহরণ


parseInt("10");        // returns 10
parseInt("10.33");     // returns 10
parseInt("10 20 30");  // returns 10
parseInt("10 years");  // returns 10
parseInt("years 10");  // returns NaN


সংখ্যা রূপান্তরিত করা সম্ভব না হলে, NaN (না একটি নম্বর) ফিরিয়ে দেয়।

parseFloat() পদ্ধতি

parseFloat () একটি স্ট্রিং parses এবং একটি নম্বর parseInt () একটি স্ট্রিং parses এবং একটি সম্পূর্ণ নম্বর ফিরিয়ে দেয়। স্পেস এর অনুমতি আছে। শুধুমাত্র প্রথম সংখ্যা প্রদান করেঃ উদাহরণ


 parseFloat("10");        // returns 10
 parseFloat("10.33");    // returns 10.33
 parseFloat("10 20 30"); // returns 10
 parseFloat("10 years"); // returns 10
 parseFloat("years 10"); // returns NaN

সংখ্যা রূপান্তরিত করা সম্ভব না হলে, NaN (না একটি নম্বর) ফিরিয়ে দেয়।

 

valueOf() পদ্ধতি

valueOf () নম্বর হিসাবে একটি নম্বর প্রদান করে। উদাহরণ


 var x = 123;
 x.valueOf();          // returns 123 from variable x
 (123).valueOf();      // returns 123 from literal 123
 (100 + 23).valueOf(); // returns 123 from expression 100 + 23

জাভাস্ক্রিপ্ট এ, একটি সংখ্যা একটি আদি মান (typeof = number) হতে পারে বা একটি অবজেক্টও (typeof = object) হতে পারে।

[ জাভাস্ক্রিপ্ট এ, সব ডেটা টাইপ এর valueOf () এবং toString () পদ্ধতি আছে।]

 

জাভাস্ক্রিপ্ট ব্রেক এবং চলমান স্টেটমেন্ট (JavaScript Break and Continue)

মোঃ আব্দুল্লাহ

 

ব্রেক স্টেটমেন্ট সাধারনত একটি লুপ থেকে বেরিয়ে আসার জন্য ব্যবহৃত হয়।

কন্টিনিউ স্টেটমেন্ট লুপের একটি ইটারেশনকে অতিক্রম করে।

 

Break স্টেটমেন্ট

ইতিমধ্যে তুমি আগের অধ্যায়ে ব্রেক স্টেটমেন্টের ব্যবহার এই টিউটোরিয়ালে দেখেছ। এটি ব্যবহৃত হত একটি স্টেটমেন্টকে সুইচ স্টেটমেন্ট থেকে বের করার জন্য।
ব্রেক স্টেটমেন্ট একটি লুপ থেকে বের হওয়ার জন্যও ব্যবহৃত হয়।
ব্রেক স্টেটমেন্ট একটি চলমান লুপকে ভাঙে এবং লুপের পরবর্তী যদি কোন কোড থেকে থাকে তাহলে ঐ সকল কোডকে পরিচালিত করে।

উদাহরণ


for (i = 0; i < 10; i++) {
    if (i === 3) { break }
    text += "The number is " + i + "<br>";
}

 

স্টেটমেন্টের যদি একটি লাইনের কোড থাকে, তবে ব্রেকেট উপেক্ষা করা যেতে পারে।


for (i = 0; i < 10; i++) {
    if (i === 3) break;
    text += "The number is " + i + "<Br>";
}


Continue স্টেটমেন্ট

যদি একটি নির্দিষ্ট যুক্তির উদ্ভব হয় এবং এটি পরবর্তী লুপের সাথে ইটারেশনকে চালিয়ে যায় continue স্টেটমেন্ট লুপের ইটারেশনকে ভেঙে দেয় ।
নিম্নের উদাহারণে 3 উপেক্ষা করে যাবেঃ

উদাহরণ


 

 for (i = 0; i < 10; i++) {
     if (i === 3) continue;
     text += "The number is " + i + "<Br>";
 }

 

JavaScript Labels

জাভা স্ক্রিপ্ট স্টেটমেন্টকে চিহ্নিত করার জন্য আগে স্টেটমেন্টটিকে একটি লেবেল নাম ও কোলোন দিয়ে চিহ্নিত করতে হবে।
সিনটেক্স:


label:
statements


ব্রেক এবং কনটিনিউ স্টেটমেন্ট হল একমাত্র জাভা স্ক্রিপ্ট স্টেটমেন্ট যা কোড ব্লক থেকে বের হয়ে আসতে পারে।

সিনটেক্স


break labelname;

continue labelname;


 

 

কনটিনিউ স্টেটমেন্ট ( লেবেল রেফারেন্স সহ বা ছাড়া ) কেবল মাত্র লুপের ভেতরে ব্যবহৃত হতে পারে।

ব্রেক স্টেটমেন্ট লেবেল রেফারেন্স ছাড়া লুপ বা সুইচের ভিতরে ব্যবহৃত হতে পারে।

এটি লেবেল রেফারেন্স সহ যেকোনো জাভা স্ক্রিপ্টের কোড ব্লক থেকে বের হয়ে আসার জন্য ব্যবহৃত হতে পারে।

উদাহরণ


var cars = ["BMW", "Volvo", "Saab", "Ford"];
list: {
      text += cars[0] + "<br>";
      text += cars[1] + "<br>";
      text += cars[2] + "<br>";
      text += cars[3] + "<br>";
      break list;
      text += cars[4] + "<br>";
      text += cars[5] + "<br>";
}



						
						
						
		

জাভাস্ক্রিপ্ট ডেটস (JavaScript Dates)

ডেট মেথডের সাহায্যে ডেট ভেলু পাওয়া যায় এবং তা বেবহার করা যায়, যেমন বছর, মাস, দিন, মিনিট, সেকেন্ড, মিলিসেকেন্ড।

Date Get মেথড

একটি ডেটের কোন একটি অংশকে পাওয়ার জন্য ডেট গেট মেথড বেবহার করা হয়:

মেথড বর্ণনা
getDate() ডেট নাম্বার পাওয়ার জন্য যেমন: ১-৩১
getDay() সপ্তাহ নাম্বার পাওয়ার জন্য
getFullYear() বছরের সবগুলো ডিজিট পাওয়ার জন্য যেমন: ২০১৫
getHours() ঘন্টা জানার জন্য
getMilliseconds() মিলিসেকেন্ড হিসেবের জন্য
getMinutes() মিনিট হিসেবের জন্য
getMonth() মাস হিসেবের জন্য
getSeconds() সেকেন্ড হিসেবের জন্য
getTime() ১৯৭০ থেকে এই পর্যন্ত সময়কে মিলিসেকেন্ডে হিসেবের জন্য

 

getTime() মেথড

১৯৭০ থেকে এই পর্যন্ত সময়কে মিলিসেকেন্ডে হিসেবের জন্য এই মেথড বেবহৃত হয়।

উদাহরণ:


<script>
var d = new Date();
document.getElementById("demo").innerHTML = d.getTime();
</script>

 

getFullYear() মেথড

বছরের সবগুলো ডিজিট পাওয়ার জন্য এই মেথড বেবহৃত হয়।

উদাহরণ:


<script>
var d = new Date();
document.getElementById("demo").innerHTML = d.getFullYear();
</script>

 

getDay() মেথড

সপ্তাহ নাম্বার পাওয়ার জন্য এই মেথড বেবহৃত হয়।

উদাহরণ:


<script>
var d = new Date();
document.getElementById("demo").innerHTML = d.getDay();
</script>

 

Array ব্যবহার করেও এই মেথডে দেখানো যায়:


<script>
var d = new Date();
var days = ["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];
document.getElementById("demo").innerHTML = days[d.getDay()];
</script>

 

ডেট ইনপুট-পার্সিং

ডেট ইনপুট এর মাধ্যমে কোনো ডেটের ভেলু নিয়ে তাকে Date.parse() মেথডের সাহায্যে মিলিসেকেন্ডে কনভার্ট করা যায়, Date.parse() মেথড কোনো একটি ভেলু/ডেট এবং ১৯৭০ থেকে সেই পর্যন্ত সময়কে মিলিসেকেন্ডে কনভার্ট করে।

উদাহরণ ১:


<script>
var msec = Date.parse("March 21, 2012");
document.getElementById("demo").innerHTML = msec;
</script>

 

উদাহরণ ২:


<script>
var msec = Date.parse("March 21, 2012");
var d = new Date(msec);
document.getElementById("demo").innerHTML = d;
</script>

 

ডেট কম্পেয়ার

দুইটি ডেটের মধ্যে খুব সহজেই কম্পেয়ার করা যায়।

উদাহরণ:


var today, someday, text;
today = new Date();
someday = new Date();
someday.setFullYear(2100, 0, 14);

if (someday > today) {
    text = "Today is before January 14, 2100.";
} else {
    text = "Today is after January 14, 2100.";
}
document.getElementById("demo").innerHTML = text;

 

হিন্টস: জাভাস্ক্রিপ্টে মাস গনণা শূন্য থেকে শুরু হয়, জানুয়ারী ০ ডিসেম্বর ১১

 

জাভাস্ক্রিপ্ট স্ট্রিক্ট (JavaScript Use Strict)

জাভাস্ক্রিপ্ট স্ট্রিক্ট (JavaScript Use Strict)

মোহাম্মাদ আমিরুল ইসলাম (আরিফ)

ওয়েব ডিজাইনার অ্যান্ড ডেভেলপার

 

জাভাস্ক্রিপ্ট স্ট্রিক্ট (JavaScript Use Strict)

Use Strict “ইউজ স্ট্রিক্ট” হল এমন একটি জাভাস্ক্রিপ্ট কোড যা Strict mode “স্ট্রিক্ট মোডে” চালু হয়।

 

ইউজ স্ট্রিক্ট নির্দেশিকা (The “use strict” Directive)

ইউজ স্ট্রিক্ট নির্দেশিকা (The “use strict” Directive) জাভাস্ক্রিপ্ট 1.8.5 (ECMAScript version 5) এ নতুন ।

এটা কোন স্টেটমেন্ট নয় কিন্তু এটি একটি আক্ষরিক অভিব্যক্তি। এটি জাভাস্ক্রিপ্টটের নতুন ভার্সন । পুরাতন ভার্সন এ এটি ব্যাবহার করা যায় না।

Use Strict (ইউজ স্ট্রিক্ট) ব্যাবহার করার উদ্দেশ্য একটি নির্দিষ্ট কোড যা Strict mode (স্ট্রিক্ট মোড) এ চালু হবে ।

 

Strict mode “স্ট্রিক্ট মোডে” সাপোর্ট করে ব্রাউজারেরে এই ভার্সন গুলোতে

  • Internet Explorer from version 10
  • Firefox from version 4
  • Chrome from version 13
  • Safari from version 5.1
  • Opera from version 12

 

 

স্ট্রিক্ট মোডে ঘোষণা (Declaring Strict Mode):

Strict mode “স্ট্রিক্ট মোডে” ঘোষণা করা হয় Use Strict (ইউজ স্ট্রিক্ট) এর মাধ্যমে । এটি জাভাস্ক্রিপ্ট ফাইলের শুরুতে অথবা জাভাস্ক্রিপ্ট ফাংশন এর ভিতর ব্যাবহার করা হয়ে থাকে।

জাভাস্ক্রিপ্টের শুরুতে ঘোষণা করা হলো এর গ্লোবাল ব্যপ্তি থাকবে। (সকল কোড স্ট্রিক্ট মোড এ কার্যকর হবে)

ফাংশনের ভিতরে ঘোষণা করা হলো এর লোকাল ব্যপ্তি থাকবে। (শুধুমাত্র ফাংশনের ভিতরের কোডগুলো স্ট্রিক্ট মোড এ কার্যকর হবে)

জাভাস্ক্রিপ্ট ফাইলের শুরুতেঃ


<!DOCTYPE html>
<html>
<body>
<p>Global "use strict" declaration.</p>
<p>Activate debugging in your browser to see the error report.</p>
<script>
"use strict";
y= 3.14;       // This will cause an error.
myFunction();  // This will also cause an error.
function myFunction() {
      x = 3.14;
}
</script>
</body>
</html>

 

 

জাভাস্ক্রিপ্ট ফাংশন এর ভিতরঃ


 

<!DOCTYPE html>
<html>
<body>
<p>Local "use strict" declaration.</p>
<p>Activate debugging in your browser to see the error report.</p>
<script>
y= 3.14;        // This will not cause an error.
myFunction();   // This will cause an error.
function myFunction() {
     "use strict";
     x = 3.14;
}
</script>
</body>
</html>


“ইউজ স্ট্রিক্ট” সিনট্যাক্স (The “use strict”; Syntax)

সিনট্যাক্স যেন জাভাস্ক্রিপ্টটের পুরোনো সংস্করণের সাথে সামঞ্জস্যপূর্ণ হয় সেভাবে সাজান হয়েছে।

কম্পাইল করার ক্ষেত্রে একটি সাংখ্যিক আক্ষরিক (4 + + 5) অথবা একটি আক্ষরিক স্ট্রিং (“jamal kamal”;) ব্যবহারে জাভাস্ক্রিপ্ট প্রোগ্রামে কোন পার্শ্ব প্রতিক্রিয়া নেই।এটি সাধারণত কম্পাইল হয় অবিদ্যমান ভেরিয়াবল এবং ডায়েস এর সাথে।

সুতরাং, “ইউজ স্ট্রিক্ট” শুধুমাত্র নতুন কম্পাইলার (সংগ্রহক) এ কাজ করে, যে কম্পইলাম এর মানে বুঝতে পারে ।

 

স্ট্রিক্ট মোড (Strict mode) কেন?

Strict mode “নিরাপদ” জাভাস্ক্রিপ্ট লিখতে সাহায্য করে ।

Strict mode পূর্ববর্তী  “bad syntax” পরিবর্তন করে  “real errors” গ্রহণ করে।

উদাহরণ হিসাবে, স্বাভাবিক জাভাস্ক্রিপ্ট, একটি মিসটাইপিং ভেরিয়াবল একটি গ্লোবাল ভেরিয়াবল সৃষ্টি করে।

Strict mode এর ক্ষেত্রে এগুলোকে “erorr” দেখাবে, এবং এখানে অসাবধানতাবশতঃ গ্লোবাল ভেরিয়াবল তৈরি হওয়া অসম্ভব।

সাধারন জাভাস্ক্রিপ্টটে একজন ডেভেলপার অ লিখনযোগ্য বৈশিষ্ট্য মান নির্ধারণের ক্ষেত্রে কোন ত্রুটি পাবেন না।

Strict mode যেকোন assignment to a non-writable property, a getter-only property, a non-existing property, a non-existing variable, or a non-existing object গুলোকে এরর “erorr” দেখাবে।

 

(Strict mode) স্ট্রিক্ট মোডে যা যা অনুমোদিত নয়

ঘোষণা না করে ভেরিয়েবল (প্রোপার্টি বা অবজেক্ট) ব্যবহার করা অনুমোদিত নয়।


"use strict";
x = 3.14;            // This will cause an error (if x has not been declared)

 

ভেরিয়াবল, ফাংশন অথবা এগ্রিমেন্ট মুছে ফেলা অনুমোদিত নয়।

 


"use strict";
x = 3.14;
delete x;                // This will cause an error

 

একাধিক বার প্রোপার্টি নির্ধারণ করা অনুমোদিত নয়।


"use strict";
var x = {p1:10, p1:20}; // This will cause an error


প্যারামিটার এর নাম নকল করা অনুমোদিত নয়।


"use strict";
function x(p1, p1) {};           // This will cause an error

 

অষ্টক গণনাপদ্ধতি এবং অব্যাহতি অক্ষর ব্যাবহার করা অনুমোদিত নয়।

 


"use strict";
var x = 010;           // This will cause an error
var y = \010;          // This will cause an error

 

রীড অনলি প্রপার্টি “read-only property” লেখা অনুমোদিত নয়।


"use strict";
var obj = {};
obj.defineProperty(obj, "x", {value:0, writable:false});
obj.x = 3.14;               // This will cause an error

 

 

গেট অনলি প্রপার্টি “get-only property” লেখা অনুমোদিত নয়।


"use strict";
var obj = {get x() {return 0} };
obj.x = 3.14;           // This will cause an error

 

আন ডিলিটএবল প্রপার্টি ডিলিট করা অনুমোদিত নয়।


"use strict";
delete Object.prototype;      // This will cause an error

স্ট্রিং “eval” ভেরিয়াবল হিসাবে ব্যাবহার করা যাবে না।


"use strict";
var eval = 3.14;             // This will cause an error

 

স্ট্রিং “arguments” ভেরিয়াবল হিসাবে ব্যাবহার করা যাবে না।


"use strict";
var arguments = 3.14;       // This will cause an error

“with statement” অনুমোদিত নয়।


"use strict";
with (Math){x = cos(2)};        // This will cause an error

 

ভবিষ্যতের জন্য সংরক্ষিত কীওয়ার্ড “keywords” গুলোঅনুমোদিত নয়।  সেগুলো হল :

  • implements
  • interface
  • package
  • private
  • protected
  • public
  • static
  • yield

 

জাভাস্ক্রিপ্ট টাইপ রূপান্তরকরণ (JavaScript Type Conversion)

আদনান নাহিদ
সরকারি তিতুমীর কলেজ

 

নাম্বার থেকে নাম্বারে পরিবর্তন, স্ট্রিং থেকে স্ট্রিং এ পরিবর্তন, বুলিয়ান থেকে বুলিয়ানে পরিবর্তন করা যায় ।

জাভাস্ক্রিপ্ট ডেটা প্রকারভেদ

মান ধারণ করতে পারে জাভাস্ক্রিপ্টে এমন 5 ধরনের ডাটা টাইপ আছে:

  • স্ট্রিং
  • নাম্বার
  • বুলিয়ান
  • অবজেক্ট
  • ফাংশন

অবজেক্ট ৩ ধরনের হয়:

  • অবজেক্ট
  • তারিখ
  • অ্যারে বা শ্রেণীবিন্যাস

এবং ২ ধরনের ডাটা টাইপের মান থাকতে পারে না :

  • অকার্যকর
  • অনির্দিষ্ট

 

typeof অপারেটর

একটি পরিবর্তনশীল জাভাস্ক্রিপ্ট এ ডাটা টাইপ খুঁজে পেতে অাপনি typeof অপারেটর ব্যবহার করতে পারেন ।
উদাহরণ


typeof "John"                 // Returns string
typeof 3.14                   // Returns number
typeof NaN                    // Returns number
typeof false                  // Returns boolean
typeof [1,2,3,4]              // Returns object
typeof {name:'John', age:34}  // Returns object
typeof new Date()             // Returns object
typeof function () {}         // Returns function
typeof myCar                  // Returns undefined (if myCar is not declared)
typeof null                   // Returns object

 

লক্ষ্য করুন :

  • NaN নাম্বারের ডাটা টাইপ
  • অ্যারের অবজেক্টের ডাটা টাইপ
  • তারিখের অবজেক্টের ডাটা টাইপ
  • Null অবজেক্টের ডাটা টাইপ
  • একটি অনির্ধারিত পরিবর্তনশীল এর ডাটা টাইপ

যদি জাভাস্ক্রিপ্ট অবজেক্ট অ্যারে (অথবা তারিখ) হয় তাহলে আপনি অর্থ বা সীমা নির্ধারণ করার ক্ষেত্রে typeof ব্যবহার করতে পারবেন না ।

 

Typeof ডাটা টাইপ

typeof অপারেটর পরিবর্তনশীল নয়। এটি একটি অপারেটর। অপারেটর (+ + – * /) এর কোন ডাটা টাইপ থাকে না ।
কিন্তু, typeof অপারেটর সবসময় একটি স্ট্রিং প্রদান করে operand এর সময় ।

 

কনস্টাকশন প্রপারটি

সব জাভাস্ক্রিপ্টের জন্যই constructor property, constructor function প্রদান করে ।
উদাহরণ


"John".constructor                 // Returns function String()   { [native code] }
(3.14).constructor                 // Returns function Number()   { [native code] }
false.constructor                  // Returns function Boolean()  { [native code] }
[1,2,3,4].constructor              // Returns function Array()    { [native code] }
{name:'John', age:34}.constructor  // Returns function Object()   { [native code] }
new Date().constructor             // Returns function Date()     { [native code] }
function () {}.constructor         // Returns function Function() { [native code] }

 

আপনি কনস্টাকশন প্রপারটি খুঁজে দেখতে পারেন এর কোন অবজেক্ট অ্যারে আছে কিনা (contains the word “Array”) :
উদাহরণ


function isArray(myArray) {
    return myArray.constructor.toString().indexOf("Array") > -1;
}

 

আপনি কনস্টাকশন প্রপারটি খুঁজে দেখতে পারেন এর কোন অবজেক্ট তারিখ কিনা (contains the word “Date”) :
উদাহরণ


function isDate(myDate) {
    return myDate.constructor.toString().indexOf("Date") > -1;
}

 

জাভাস্ক্রিপ্ট টাইপ রূপান্তরকরণ

জাভাস্ক্রিপ্ট ভেরিয়েবল নতুন একটি ভেরিয়েবলে এবং অন্য ডাটা টাইপে রূপান্তরিত করা যেতে পারে:

  • জাভাস্ক্রিপ্ট ফাংশন ব্যবহার করে
  • জাভাস্ক্রিপ্টের মাধ্যমে স্বয়ংক্রিয়ভাবে

 

নাম্বারকে স্ট্রিং এ রূপান্তর

গ্লোবাল পদ্ধতি String() দিয়ে সংখ্যাকে স্ট্রিং এ রূপান্তর করতে পারে ।

এটি যেকোনো ধরনের সংখ্যায় , লিটারেল, ভেরিয়েবল বা এক্সপ্রেশন এ ব্যবহার করা যায় :

উদাহরণ


String(x)         // returns a string from a number variable x
String(123)       // returns a string from a number literal 123
String(100 + 23)  // returns a string from a number from an expression

 

সংখ্যা পদ্ধতি toString() ও একই ধরনের কাজ করে ।
উদাহরণ


x.toString()
(123).toString()
(100 + 23).toString()

 

আপনি  (নাম্বার পদ্ধতি) অ্ধ্যায়ে সংখ্যাকে স্ট্রিং এ রূপান্তর করার আরো অনেক মেথড খুজে পাবেন :

পদ্ধতি বর্ণনা
toExponential() ব্যাখ্যামূলক একটি সংখ্যার সাথে সূচক নোটেশন ব্যবহার করে স্ট্রিং ফেরৎ পাওয়া
toFixed() স্থায়ী একটি নিদিষ্ট সংখ্যার সাথে দশমিক সংখ্যা ব্যবহার করে স্ট্রিং ফেরৎ পাওয়া
toPrecision() স্পষ্টতা একটি নিদিষ্ট দৈর্ঘ্যর সাথে একটি সংখ্যা ব্যবহার করে স্ট্রিং ফেরৎ পাওয়া

 

Booleans থেকে স্ট্রিং এ রূপান্তর

গ্লোবাল পদ্ধতি String(), Booleans কে স্ট্রিং এ রূপান্তর করতে পারে :
উদাহরণ


String(false)        // returns "false"
String(true)         // returns "true"

 

বুলিয়ান পদ্ধতি toString() ও একই ধরনের কাজ করে ।


false.toString()     // returns "false"
true.toString()      // returns "true"

 

তারিখকে স্ট্রিং এ রূপান্তর

গ্লোবাল পদ্ধতি String() দিয়ে তারিখকে স্ট্রিং এ রূপান্তর করতে পারে :


String(Date()) // returns Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight Time)

 

তারিখের পদ্ধতি toString() ও একই ধরনের কাজ করে ।
উদাহরণ


Date().toString() // returns Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight Time)

 

আপনি  (ডেট মেথড) অ্ধ্যায়ে সংখ্যাকে স্ট্রিং এ রূপান্তর করার আরো অনেক মেথড খুজে পাবেন :

মেথড বর্ণনা
getDate() তারিখকে সংখ্যা হিসেবে গ্রহণ করে (1-31)
getDay() সপ্তাহকে সংখ্যা হিসেবে গ্রহণ করে (0-6)
getFullYear() বছরের চারটি অঙ্ক গ্রহণ করে  (YYYY)
getHours() ঘন্টাকে গ্রহণ করে (0-23)
getMilliseconds() মিলি সেকেন্ড কে গ্রহণ করে (0-999)
getMinutes() মিনিটকে গ্রহণ করে (0-59)
getMonth() মাসকে গ্রহণ করে (0-11)
getSeconds() সেকেন্ড কে গ্রহণ করে (0-59)
getTime() সময়কে গ্রহণ করে (মিলিসেকেন্ড জানুয়ারী 1st 1970 থেকে)

 

স্ট্রিং কে সংখ্যায় রূপান্তর

গ্লোবাল পদ্ধতি Number() দিয়ে স্ট্রিংকে সংখ্যায় রূপান্তর করতে পারেন ।

স্ট্রিং নম্বর ধারণকারী (“3.14” ) কে (3.14 ) এ রূপান্তর ।

খালি স্ট্রিং কে 0 তে রূপান্তর ।

অন্যানগৈুলোকে NaN (নম্বর নয়) এ পরিবর্তন ।


Number("3.14")    // returns 3.14
Number(" ")       // returns 0
Number("")        // returns 0
Number("99 88")   // returns NaN

 

আপনি  (নাম্বর মেথড) অ্ধ্যায়ে স্ট্রিং কে সংখ্যায় রূপান্তর করার আরো অনেক মেথড খুজে পাবেন :

পদ্ধতি বর্ণনা
parseFloat একটি স্ট্রিং পার্স করুন এবং একটি ফ্লোটিং পয়েন্ট সংখ্যা ফেরৎ পান
parseInt একটি স্ট্রিং পার্স করুন এবং একটি পূর্ণসংখ্যা ফেরৎ পান

 

ইউনারী + অপারেটর

একটি ভেরিয়েবল (পরিবর্তনশীল নাম্বার) কে সংখ্যায় রূপান্তরের ক্ষেত্রে ইউনারী + অপারেটর ব্যবহার করা যেতে পারে :
উদাহরণ


 var y = "5";      // y is a string
 var x = + y;      // x is a number

 

যদি variable কে রূপান্তরিত করা না যায় তাহলে এটি সংখ্যাই থাকে যার মান হয় NaN (নম্বর নয়):
উদাহরণ


 var y = "John";   // y is a string
 var x = + y;      // x is a number (NaN)

 

Booleans কে নাম্বার এ রূপান্তর

গ্লোবাল পদ্ধতি Number() দিয়ে Booleans কে নাম্বারে রূপান্তর করতে পারেন :


Number(false)     // returns 0
Number(true)      // returns 1

 

তারিখ কে নাম্বারে রূপান্তর

গ্লোবাল পদ্ধতি Number() দিয়ে তারিখকে নাম্বারে রূপান্তর করতে পারেন :


d = new Date();
Number(d)          // returns 1404568027739

 

তারিখের পদ্ধতি toString() ও একই ধরনের কাজ করে ।


d = new Date();
d.getTime()        // returns 1404568027739

 

স্বয়ংক্রিয় রূপান্তর

যখন জাভাস্ক্রিপ্ট একটি “ভুল” ডাটা টাইপ নিয়ে কাজ করার চেষ্টা করে, এটি মানকে “সঠিক” ডাটা টাইপে রূপান্তর করতে চেষ্টা করে।
ফলাফল সবসময় আপনার আশানরূপ হয় না:


5 + null    // returns 5         because null is converted to 0
"5" + null  // returns "5null"   because null is converted to "null"
"5" + 2     // returns 52        because 2 is converted to "2"
"5" - 2     // returns 3         because "5" is converted to 5
"5" * "2"   // returns 10        because "5" and "2" are converted to 5 and 2

 

স্বয়ংক্রিয় স্ট্রিং রূপান্তর

জাভাস্ক্রিপ্ট স্বয়ংক্রিয়ভাবেই ভেরিয়েবল এর toString ফাংশনকে কল করে যখন অবজেক্ট বা ভেরিয়েবল থেকে “output” আশা করেন :


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

// if myVar = {name:"Fjohn"}  // toString converts to "[object Object]"
// if myVar = [1,2,3,4]       // toString converts to "1,2,3,4"
// if myVar = new Date()      // toString converts to "Fri Jul 18 2014 09:08:55 
                                 GMT+0200"

 

সংখ্যা এবং Booleans ও রূপান্তরিত হয়, কিন্তু এবি খুব একটা দৃশ্যমান নয়:


// if myVar = 123             // toString converts to "123"
// if myVar = true            // toString converts to "true"
// if myVar = false           // toString converts to "false"

 

জাভাস্ক্রিপ্ট টাইপ রূপান্তর ছক

এই টেবিল বিভিন্ন প্রকার জাভাস্ক্রিপ্ট মানকে সংখ্যা, স্ট্রিং, এবং বুলিয়ান এ রূপান্তর প্রদর্শন করে :

আদি মান সংখ্যায় রূপান্তরিত স্ট্রিং এ রূপান্তরিত বুলিয়ানে রূপান্তরিত
false 0 “false” false
true 1 “true” true
0 0 “0” false
1 1 “1” true
“0” 0 “0” true
“1” 1 “1” true
NaN NaN “NaN” false
Infinity Infinity “Infinity” true
-Infinity -Infinity “-Infinity” true
“” 0 “” false
“20” 20 “20” true
“twenty” NaN “twenty” true
[ ] 0 “” true
[20] 20 “20” true
[10,20] NaN “10,20” true
[“twenty”] NaN “twenty” true
[“ten”,”twenty”] NaN “ten,twenty” true
function(){} NaN “function(){}” true
{ } NaN “[object Object]” true
null 0 “null” false
undefined NaN “undefined” false

নোট: কোটেশন যুক্ত মান স্ট্রিং নির্দেশ করে।

বোল্ড করা মান (কিছু) প্রোগ্রামার সমর্থন করে না।

 

এইচটিএমএল প্রতিক্রিয়াশীল ওয়েব ডিজাইন (HTML Responsive Web Design)

স্বর্ণা আখতার

 

প্রতিক্রিয়াশীল ওয়েব ডিজাইন এর প্রধান কাজ ই হল আপনার ওয়েব সাইটকে বিভিন্ন ডিভাইস যেমন, মোবাইল বা কম্পিউটার এর লেআউট এর সাথে খাপ খাওয়ানো। এটি আপনার ওয়েব সাইটকে সহজবোধ্য ও সুখপাঠ্য করে গড়ে তোলে।

প্রতিক্রিয়াশীল ওয়েব ডিজাইন লেআউট যেভাবে তৈরি করবেন

প্রতিক্রিয়াশীল ওয়েব ডিজাইন আপনাকে নিজেই অথবা আপনি কিভাবে ফুটিয়ে তুলবেন সেটার উপর নির্ভর করবে।

নিচে একটি উদাহরন দেয়া হল


<!DOCTYPE html>
 <html lang="en-US">
 <head>
 <style>
 .city {
     float: left;
     margin: 5px;
     padding: 15px;
     width: 300px;
     height: 300px;
     border: 1px solid black;
 } 
 </style>
 </head>
 <body>
 
 <h1>W3Schools Demo</h1>
 <h2>Resize this responsive page!</h2>
 
 <div class="city">
   <h2>London</h2>
   <p>London is the capital city of England.</p>
   <p>It is the most populous city in the United Kingdom, with a metropolitan area of over 13 million inhabitants.</p>
 </div>
 
 <div class="city">
   <h2>Paris</h2>
   <p>Paris is the capital and most populous city of France.</p>
 </div>


 

বুটস্ট্র্যাপ ব্যবহারের মাধ্যমে

আগেকার বিদ্যমান সিএসএস ফ্রেমওয়ার্ক এর মাধ্যমেও প্রতিক্রিয়াশীল ওয়েব ডিজাইন বানানো যায়। আর এখানে বুটস্ট্র্যাপ ই হল এইচ টি এম এল, সিএসএস এবং যে এস ফ্রেমওয়ার্ক এর সবচেয়ে জনপ্রিয় পদ্ধতি ।

বুটস্ট্র্যাপ আপনার সাইট কে যে কোন সাইজ যেমন, ল্যাপটপ বা কম্পিউটার এ ভালোভাবে দেখাতে সহায়তা করে।

উদাহরের সাহায্যে দেখানো হল


<!DOCTYPE html>
 <html>
 <head>
   <meta charset="utf-8">
   <meta name="viewport" content="width=device-width, initial-scale=1">
   <link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
 </head>
 <body>
 
 <div class="container">
 
 <div class="jumbotron">
   <h1>W3Schools Demo</h1> 
   <p>Resize this responsive page!</p> 
 </div>
 
 <div class="row">
   <div class="col-md-4">
     <h2>London</h2>
     <p>London is the capital city of England.</p>
     <p>It is the most populous city in the United Kingdom,
     with a metropolitan area of over 13 million inhabitants.</p>
   </div>
   <div class="col-md-4">
     <h2>Paris</h2>
     <p>Paris is the capital and most populous city of France.</p>
   </div>
   <div class="col-md-4">
     <h2>Tokyo</h2>
     <p>Tokyo is the capital of Japan, the center of the Greater Tokyo Area,
     and the most populous metropolitan area in the world.</p>
   </div>
 </div>
 
 </div>
 
 </body>
 </html>