JavaScript DOM 編程藝術(1)---> JavaScript語法

来源:http://www.cnblogs.com/Mairr/archive/2017/11/30/7929137.html
-Advertisement-
Play Games

一. JavaScript語法目錄 二. 具體內容 2.1 語法 javaScript代碼要通過HTML/XHTML文檔才能執行。可以有兩種方式完成這一點,第一種是將JavaScript代碼放到文檔<head>標簽中的<Script>標簽之間: 另一種更好的方式是把JavaScript代碼存放為一個 ...


一.  JavaScript語法目錄

  1. 語法
  2. 操作
  3. 條件語句
  4. 迴圈語句
  5. 函數
  6. 對象

 

二.  具體內容

 

2.1 語法

 

  javaScript代碼要通過HTML/XHTML文檔才能執行。可以有兩種方式完成這一點,第一種是將JavaScript代碼放到文檔<head>標簽中的<Script>標簽之間:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>test</title>
    
    <script>
        JavaScript goes here!
    </script>
    
</head>
<body>
        Mark up goes here!
</body>
</html>

  另一種更好的方式是把JavaScript代碼存放為一個擴展名為.js的獨立文件,典型做法是在文檔的<head>部分放一個<script>標簽,並把它的src屬性指向該文件:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>test2</title>

    <script src="Mairr.js"></script>

</head>
<body>
    Mark up goes here!
    <!--其中,<script>標簽最好放置在</body>標簽之前,能夠使瀏覽器更快的載入頁面,後面章節會詳細介紹-->
</body>
</html>

 

(1) 語句

  一系列指令構成,這些指令叫做語句。JS的語句分隔要求不那麼嚴格,換行即可表示語句的結束,當然,出於編程習慣,最好加上分號。(一下三種編程方式都是正確的,建議選擇最後一種)

<!--直接回車換行-->
first statement
second statement

<!--分號隔開-->
first statement; second statement;

<!--分號並換行-->
first statement; 
second statement;

(2) 註釋

  1. 單行註釋:        // ...
  2. 塊註釋:     /* ....  */
  3. HTML文檔中註釋:        <!--這是要註釋掉的部分-->
  4. javascript中有半邊即可作為行註釋:  <!--這是只是掉的行內容,後半部分括弧可以不需要了

(3) 變數

  javaScript允許直接對變數賦值而無需事先聲明(弱編程語言)。如果對某個變數賦值之前未聲明,賦值操作將自動聲明該變數。出於編程習慣,最好對變數做出聲明;例如:var name,age。

  變數的命名要滿足以下原則:

  1. 變數和其他語法元素的名字都是區分大小寫的;
  2. 變數名中不允許有空格、標點(美元符號除外$);
  3. 變數名允許包含字母、數字、美元符號(&),但是,第一個字元不允許是數字;
  4. 較長變數名建議加上下劃線增加可讀性;(var my_name;);

(4)  數據類型

  a. 字元串

  字元串包括(但不限於)字母、數字、標點符號和空格。字元串必須包在引號裡面,單引號或者雙引號都可以。有的時候字元串內部有單引號/雙引號,需要用轉義字元(\);在javaScript中,用反斜杠對字元進行轉義: var mood = 'don\'t ask';(以避免和但引號混淆)。

  b. 布爾值

  布爾數據只有兩個可選值---->ture/false。(註意ture/false不要用引號括起來,否者會將其當做做字元串的賦值操作)

  c. 數值

  JavaScript允許使用帶小數點的數值,並且允許任意位小數,這樣的數稱為浮點數,數值前添減號(-)表示負數。

(5) 數組

  JavaScript根本不需要在聲明數組時候必須給出元素個數,向數組中添加元素操作稱為填充。var person = Array("mairr",1949,ture)。

(6) 對象

  與數組一樣,對象也是使用一個名字表示一組值。對象的每個值都是對象的屬性。例如:

var Mairr = Object();
Mairr.name = "HuGe";
Mairr.age = 18;
Mairr.living = false;

 

2.3 操作

 

  算術操作符(包含加、減、乘、除、括弧、自增++、自減--)。將多個字元串首尾相連的操作叫做拼接。如下所示,拼接示例:

// 直接拼接
var message = "I am feeling" + "sad";

// 通過變數完成·拼接
var mood = "sad";
var message = "i am feeling" + mood;

 

2.4 條件語句

 

  if條件語句基本語法結構:if(condition){statements;}

(1) 比較操作符

  • 基本比較符“>,<,<=,>=,”
  • 不等號“!=”
  • 註意幾個等號的區別:
  1. "="表示賦值符號;
  2. "=="不表示嚴格相等,例如,用"=="號比較false與空字元串的關係,會返回true,並不是嚴格相等;
  3. "==="表示嚴格相等;

(2) 邏輯操作符

  • 邏輯與 "&&"
  • 邏輯或 "||"
  • 邏輯非 "!"

  (邏輯運算的結果是布爾型true/false)

 

2.5 迴圈語句

 

(1)while迴圈

// 方式一
while(condition){
    statements;
}

// 方式二
do{
   statements;
}while(condition);

(2)for迴圈

for(initial condition; test condition; alter condition){
    statements;
}

 

2.6 函數

 

  如果需要多次使用同一段代碼,可以把它們封裝成一個函數。函數(function)就是一組允許在你的代碼里隨時調用的語句。每個函數實際上是一個短小的腳本。

  定義一個函數的語法如下所示:

function name(arguments){
    statements;
}

  變數既可以是全局的,也可以是局部的。這就是變數的作用域。

  全局變數可以在腳本的任何位置被引用。一旦你在一個腳本里聲明瞭一個全局變數,就可以從這個腳本中的任何位置(包括函數內部)引用它。全局變數的作用域是整個腳本。

  局部變數只存在於聲明它的那個函數的內部,在那個函數的外部是無法應用他的,局部變數的作用域僅限於某個特定的函數。

  如果在函數中使用了var,那個變數將被視為一個局部變數,它只存在於這個函數的上下文中;反之,如果沒有使用var,那個變數將被視為一個全局變數,如果腳本里已經有在一個與之同名的全局變數,這個函數就會改變那個全局變數的直。

   示例如下:

function square(num){
       total = num *num;     // 此處為全局變數,當設置為 var total = num *num; --->才是局部變數
       return total;
}
var total = 50;              // 此處為局部變數
var number = square(20);
alert(total);

  得到結果是:

   全局變數total的值變成了400,而不是局部變數的50。

 

2.7 對象

 

  對象(Object)是一種數據類型,包含在對象里的數據可以通過兩種形式訪問——屬性(property)和方法(method):

  1. 屬性是隸屬於某個特定對象的變數;
  2. 方法是只有某個特定對象才能調用的函數;

對象就是由一些屬性和方法組合在一起而構成的一個數據實體,在javaScript里,屬性和方法都使用"點"語法來訪問:

  1. Object.property
  2. Object.method()

  為給定對象創建一個新實例需要使用new關鍵字

var Mairr = new person;

 

2.7.1 內建對象

 

  JavaScript提供了一系列預先定義好的對象,這些可以拿來就用的對象稱為內建對象。JavaScript中有許多內置對象,其中包括Array對象、Math對象、Date對象。例如,可以直接新建實例,然後調用其屬性/方法:

// 例一
var beatles = new Array();
beatles.length;

// 例二
var current_date = new Date();
var taday = current_date.getDay();

 

2.7.2 宿主對象

 

  除了內建對象之外,JavaScript腳本里使用一些已經預先定義好的其他對象。這些對象不是有JavaScript語言本省提供的,而是由他的運行環境提供的。具體到Web應用,這個環境就是瀏覽器。由瀏覽器提供的預定義對象被稱為宿主對象。

  宿主對象包括Form、Image、Element等。我們可以通過這些對象獲得關於網頁上表單、圖像和各種表單元素等信息。

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 原文地址: "簡潔後臺管理模版" 之前給客戶開發一個簡單的後臺管理系統,本來準備套用AdminLTE的,但客戶嫌棄太臃腫,而且又需要有多tab頁面切換,於是從我代碼庫中找到好久前就寫過的管理後臺,根據需求重寫。這是基於jQuery,加上自己編寫基礎樣式,從零搭建起來的框架,在這個輕量級模版的基礎上進 ...
  • 網上找了很多版本嘗試都不行,最後在stackoverflow上找到一個,嘗試完美解決 具體操作步驟如下 1. 安裝jquery npm install jquery 2.安裝 type for jquery npm install -D @types/jquery 3.在組件中使用jquery im ...
  • 1.main.js 2.fs模塊,讀寫文件 3.http請求模塊 4.schedule.js, 任務調度模塊 5.sendQQemail.js,發送QQ郵件模塊 6.先簡單記錄下,以後有空再詳細說明 ...
  • MVVM是一種前端框架模式,框架模式主要是用來管理與組織代碼,在複雜應用中,利用高內聚低耦合的思想,將代碼分離組織到不同部分,每部分都有其關註點和職責,各部分間耦合度低,達到“關註點分離”目的,使整個應用更易管理、維護,每個部分可以單獨更新、替換以及復用,從而達到整個應用的模塊化。 一、概念 MVV ...
  • 在angular中,使用session處理 源碼如下: typescript import { Injectable } from '@angular/core'; import { AES, enc } from 'crypto js'; import { has, isNull, isUndef ...
  • 詳情:http://www.liu12fei08fei.top/ github個人博客綁定單獨阿裡功能變數名稱指南 起源 禁止微信重拍版 給github pages綁定功能變數名稱 獲取github pages的ip地址 配置阿裡雲功能變數名稱並解析(是功能變數名稱就行,是不是阿裡不重要) 配置github pages的custo ...
  • 這篇博文主要涉及到初學React時所總結的內容,也是我從最開始的認識React到後面的逐漸深入學習的歷程,而這篇是開始,當然不會是結束。 ...
  • 其實我們一樣可以很個性。。^_^ 效果實現:(附效果圖) 各位大神有什麼好的意見和指導敬請賜教~~ ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...