JavaScript初學基本概念和語法

来源:http://www.cnblogs.com/wencairen/archive/2017/05/22/6891184.html
-Advertisement-
Play Games

ECMAScript 的語法大量借鑒了C及其他類C語言(如Java 和Perl)的語法。 1. 區分大小寫 2.標識符 2.1 第一個字元必須是一個字母、下劃線(_)或一個美元符號($); 2.2 其他字元可以是字母、下劃線、美元符號或數字 按照慣例,ECMAScript標識符採用駝峰大小寫格式,也 ...


ECMAScript 的語法大量借鑒了C及其他類C語言(如Java 和Perl)的語法。

1. 區分大小寫

2.標識符 

  2.1 第一個字元必須是一個字母、下劃線(_)或一個美元符號($);

  2.2 其他字元可以是字母、下劃線、美元符號或數字

  按照慣例,ECMAScript標識符採用駝峰大小寫格式,也就是第一個字母小寫,剩下的每個單詞的首字母大寫。

3. 註釋

  與C語言同  

  // 單行註釋

  /*只是一個多行

   *註釋

  */

4. 嚴格模式 “use strict”

5. 語句 以一個分號結尾;如果省略分號,則由解釋器確定語句的結尾,雖然語句結尾的分號不是必須的,但建議任何時候都不要省略它。

6. 關鍵字和保留字

break do instanceof typeof case else new var catch finally return void continue for switch while debugger* function this with default if throw delete in try

abstract enum int short boolean export interface static byte extends long super char final native synchronized class float package throws const goto private transient debugger implements protected volatile double import public

 7.變數定義

  var message="hi";

  var value=1.0;

8.數據類型

 5種基本數據類型:Undefined,Null,Boolean,Number,String,還有一種複雜數據類型Object

ECMAScript不支持任何創建自定義類型的機制,二所有值最終都將是上述6種數據類型之一。

typeof 操作符

var message="hello";  console.log(typeof(message));  -->string

var value=100.9; console.log(typeof(value)); -->number

undefined 類型, 未經初始化的值預設都會取得undefined的值。

null類型,使用typeof 操作返回Object

Boolean類型

Number類型

Number.MAX_VALUE, Numer.NEGATIVE_INFINITY,Number.POSITIVE_INFINITY

NaN (Not a Numebr 非數值)

Number()函數轉換規則:

a。如果是Boolean值,true和false分別被轉化為1和0

b。如果是數字值,只是簡單的傳入和返回

c。如果是null值,返回0

d。如果是undefined,返回NaN

e。如果是字元串,會做類似C語言的轉換,轉換不成功,返回NaN

f。如果是對象,則調用對象的valueOf()方法,然後依據前面的規則轉換返回的值。如果轉換的結果是NaN,則調用對象的toSring()方法,然後再次依照前面的規則轉換返回的字元串值。

Object類型

var o=new Object();

如果不給構造函數傳遞參數,可以省略後面的一對圓括弧,如 var o=new object;

Object的每個實例都具有下列屬性和方法。

constructor, hasOwnProperty(propertyName), isPrototypeOf(object), propertyIsEnumerable(propertyName),toLocaleString, toString,valueOf.

操作符 ++, --, +, - , *,/, %, &, | , ~ , << , >>, >>>

布爾操作符

!,&&,||

關係操作符

<,>,<=,>=, ==,!=,===,!==

 

語句:

if (contition) statement1 else statement2

 

if (condition1) statement1

  else f (condition2)

   statement2

  else statement3

 

do{ statement

} while (expression);

 

while (expression) statement;

for (initialization ;expression; post-loop-expression) statement;

for (property in expression) statement;

建議在使用for-in迴圈前,先檢測確認該對象的值不是null或undefined。

label語句: 使用label語句可以在代碼中添加標簽,以便將來使用。

label: statement;

break和continue 與C語言同,在迴圈體中控制代碼執行。

with 語句,主要目的是為了簡化多次編寫同一個對象的工作。(嚴格模式下不允許使用with語句)

with (expression) statement

var qs=location.search.substring(1);

var hostname=location.hostname;

var url=location.href;

上面的代碼都包含location對象,如果使用swith語句,可以把上面的代碼改寫為如下所示的代碼:

with (location) {

var gs=search.substring(1);

var hostname=hostname;

var url=href;

}

switch語句: 與C語言同,但是在JS中,可以在switch中使用任何數據類型。

 

函數

function functionName (arg0,arg1,...,argN) {
  statements;

}

//e.g.
function sayHi (name,message) {
 alert ("hello "+ name +","+ message);
}

 可以向JS函數傳遞任意數量的參數,並且可以通過arguments對象來訪問這些參數。

由於不存在函數簽名的特性,JS函數不能重載。

 


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

-Advertisement-
Play Games
更多相關文章
  • 參考: http://www.cnblogs.com/jiese/p/3164940.html http://design-patterns.readthedocs.io/zh_CN/latest/structural_patterns/bridge.html ...
  • 一、什麼是模板方法模式 概念:定義一個操作中的演算法的骨架,而將一些步驟延遲到子類中。模板方法使得子類可以不改變一個演算法的結構即可重定義該演算法的某些特定步驟。 通俗的講,模板方法模式是通過把不變行為搬到超類,去除子類裡面的重覆代碼提現它的優勢,它提供了一個很好的代碼復用平臺。當不可變和可變的方法在子類 ...
  • 很多時候,在我們的網站中因為頁面內容過長,用戶瀏覽網頁時若想返回頂部菜單需要滾動滑鼠才能到達,很不方便,為了提高用戶體驗度,我們會在網頁中加入返回頂部功能,以下是php中文網推薦的5款簡潔的返回頂部特效代碼,很值得收藏哦!歡迎分享下載! 1.簡單實用jQuery返回頂部代碼 效果預覽和下載地址:ht ...
  • console.log(typeof 'abc') // "string" console.log(typeof true )// "boolean" console.log(typeof {a:1}) // "object" console.log(typeof function foo(){}) ...
  • 趕工趕工。。 ...
  • 前言 canvas 強大的功能讓它成為了 HTML5 中非常重要的部分,至於它是什麼,這裡就不需要我多作介紹了。而可視化圖表,則是 canvas 強大功能的表現之一。 現在已經有了很多成熟的圖表插件都是用 canvas 實現的,Chart.js、ECharts等可以製作出好看炫酷的圖表,而且幾乎覆蓋 ...
  • 今天在學習HTML5的過程中遇到了中文亂碼問題: 我是用myeclipse 2016開發的,但我的項目和html文件的編碼格式都是utf-8,還是亂碼,去網上搜了搜都沒有搜到,後來發現了一件有趣的事,知道了問題的原因。 每次創建一個新的HTML5文件時,新建的文件都自帶瞭如下代碼: 但當我嘗試著把 ...
  • 實現效果 如圖所示: 首先得準備三張圖,一張是淺黃色的背景圖loading_bg.png,一張是深紅色的圖loading.png,最後一張為bolang.png。 css代碼 html代碼 ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...