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
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...