کجا کد های JS را بنویسیم؟

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

  • جاوا اسکریپت داخلی (internal)
  • جاوا اسکریپت خارجی (external)
  • جاوا اسکریپت درون خطی (inline) (با کمک رویدادها)

JS داخلی (internal)

برای استفاده از JS داخلی باید از تگ script استفاده کرد. script را می توان در تگ head و body استفاده کرد.

<script>
    // محل نوشتن کدهای جاوا اسکریپت داخلی
</script>

JS داخلی در head

در نمونه کد زیر یک تابع جاوا اسکریپت در تگ <head> استفاده کرده ایم.

<!DOCTYPE html>
<html>
<head>
    <script>
        function myFunction() {
            document.getElementById("demo").innerHTML = "0";
        }
    </script>
</head>
<body>
    <p id="demo">1</p>
    <button type="button" onclick="myFunction()">کلیک کنید</button>
</body>
</html>

JS داخلی در body

در نمونه کد زیر یک تابع جاوا اسکریپت در تگ <body> استفاده کرده ایم.

<!DOCTYPE html>
<html>
<body>
    <p id="demo">یک متن آزمایشی</p> 
    <button type="button" onclick="myFunction()">کلیک کنید</button>

    <script>
        function myFunction() {
            document.getElementById("demo").innerHTML = "متن تغییر کرد";
        }
    </script>
</body>
</html>

تگ script در body یا head؟

از لحاظ تکنیکی نوشته شدن تگ script در body و head تفاوتی ندارد، و در هر دو تگ، کدها اجرا می شوند.

اما از لحاظ عملکرد اجرا، بهتر است کد های JS در انتهای تگ body نوشته شود.

نکته: چون مرورگرها صفحات سایت را به صورت خطی اجرا می کنند. بهتر است ابتدا ساختار html و css سایت بارگذاری شوند تا کاربر با محتوای سایت ارتباط برقرار کند و در انتها کدهای اسکریپت بازگزاری شوند.

JS خارجی (external)

مانند CSS، اسکریپت ها را می توان در فایل خارج از html نیز استفاده کرد.

برای ایجاد اسکریپت خارجی:

  1. باید یک فایل با پسوند .js ایجاد کنیم. (مانند script.js)
  2. کدهای جاوا اسکریپت خود را به آن اضافه می کنیم.
    function myFunction() {
        document.getElementById("demo").innerHTML = "متن تغییر کرد";
    }
  3. سپس با یک تگ اسکریپت مانند زیر به آن آدرس دهی کنیم:
    <script src="script.js"></script>

نکته: تگ <script> در دو بخش <head> و <body> قابل استفاده است. اما بهتر است در انتهای body نوشته شود.

JS درون خطی (inline)

برای استفاده از JavaScript درون خطی، باید از رویدادها (event) استفاده کرد.

<p id="demo">با کلیک بر روی دکمه زیر تاریخ و زمان فعلی را مشاهده می کنید.</p>
<button onclick="document.getElementById('demo').innerHTML=Date()">کلیک کنید</button>

نکته:  برای اطلاعات بیشتر به  آموزش رویداد JS مراجعه کنید.

خلاصه درس

در این آموزش با موارد زیر آشنا شدیم:

  • JavaScript داخلی در head
  • JavaScript داخلی درbody
  • JavaScript خارجی 
  • JavaScript درون خطی

توسعه دهندگان
احسان اسلامی