標籤:標準 字母 2.0 net 小數點 允許 命名規則 常量 不同類
JavaScript概述
JavaScript的曆史
- 1992年Nombas開發出C-minus-minus(C--)的嵌入式指令碼語言(最初綁定在CEnvi軟體中).後將其改名ScriptEase.(用戶端執行的語言)
- Netscape(網景)接收Nombas的理念,(Brendan Eich)在其Netscape Navigator 2.0產品中開發出一套livescript的指令碼語言.Sun和Netscape共同完成.後改名叫Javascript
- 微軟隨後模仿在其IE3.0的產品中搭載了一個JavaScript的複製版叫Jscript.
- 為了統一三家,ECMA(歐洲電腦製造協會)定義了ECMA-262規範.國際標準組織及國際電子電機委員會(ISO/IEC)也採納 ECMAScript 作為標準(ISO/IEC-16262)。從此,網頁瀏覽器就開始努力(雖然有著不同的程度的成功和失敗)將 ECMAScript 作為 JavaScript 實現的基礎。EcmaScript是規範.
ECMAScript
儘管 ECMAScript 是一個重要的標準,但它並不是 JavaScript 唯一的部分,當然,也不是唯一被標準化的部分。
JavaScript的組成:
- 核心(ECMAScript)
- 瀏覽器物件模型(BOM) Broswer object model(整合js和瀏覽器)
- Javascript 在開發中絕大多數情況是基於對象的.也是物件導向的.
簡單地說,ECMAScript 描述了以下內容:
- 文法類型
- 語句
- 關鍵字
- 保留字
- 運算子
- 對象 (封裝 繼承 多態) 基於對象的語言.使用對象.
JavaScript的引入方式
{#1 直接編寫#} <script> alert(‘hello yuan‘) </script> {#2 匯入檔案#} <script src="hello.js"></script>
二.JavaScript的基礎
2.1變數
x=5 y=6 z=x+y
在代數中,我們使用字母(比如 x)來儲存值(比如 5)。
通過上面的運算式 z=x+y,我們能夠計算出 z 的值為 11。
在 JavaScript 中,這些字母被稱為變數。
0 變數是弱類型的(很隨便);
1 聲明變數時不用聲明變數類型. 全都使用var關鍵字;
var a;
2.一行可以聲明多個變數.並且可以是不同類型.
var name="yuan", age=20, job="lecturer";
3. 聲明變數時如果不用var,那麼這個變數是全域變數
4.變數名只能以字母,底線或者$符開頭,區分大小寫
5.變數還應遵守以下某條著名的命名規則
Camel 標記法 首字母是小寫,接下來的字母都以大寫字元開頭。例如: var myTestValue = 0, mySecondValue = "hi"; Pascal 標記法 首字母是大寫的,接下來的字母都以大寫字元開頭。例如: Var MyTestValue = 0, MySecondValue = "hi"; 匈牙利類型標記法 在以 Pascal 標記法命名的變數前附加一個小寫字母(或小寫字母序列),說明該變數的類型。例如,i 表示整數,s 表示字串,如下所示“ Var iMyTestValue = 0, sMySecondValue = "hi";
2.2基礎規範
1.每行結束可以不加分號. 沒有分號會以換行符作為每行的結束
a=1;b=2;
a=1 b=2;------錯誤
a=1
b=2 -----正確
2.注釋,支援多行注釋和單行注釋 /* */ //
3.使用{}來封裝代碼塊
2.3常量和標識符
常量:直接在程式中出現的資料值
標識符:
1.由不以數字開頭的字母,數字,底線,$組成
2.常用於表示函數,變數的名稱
3.JavaScript語言中代表特定含義的詞稱為保留子,不允許程式自訂為標識符
2.4資料類型
簡介
最基本的資料類型
不區分整型數值和浮點型數值
所有數字都採用64位浮點格式儲存,相當於Java和C語言中的double格式
能表示的最大值是±1.7976931348623157 x 10308 能表示的最小值是±5 x 10 -324
整數:
在JavaScript中10進位的整數由數位序列組成
精確表達的範圍是?-9007199254740992 (-253) 到 9007199254740992 (253)
超出範圍的整數,精確度將受影響
浮點數:
使用小數點記錄資料
例如:3.4,5.6
使用指數記錄資料
例如:4.3e23 = 4.3 x 1023
16進位和8進位數的表達
16進位資料前面加上0x,八進位前面加0
16進位數是由0-9,A-F等16個字元組成
8進位數由0-7等8個數字組成
16進位和8進位與2進位的換算
# 2進位: 1111 0011 1101 0100 <-----> 16進位:0xF3D4 <-----> 10進位:62420# 2進位: 1 111 001 111 010 100 <-----> 8進位:0171724
字串(String)
簡介是由Unicode字元、數字、標點符號組成的序列字串常量首尾由單引號或雙引號括起JavaScript中沒有字元類型常用特殊字元在字串中的表達字串中部分特殊字元必須加上右劃線常用的逸出字元 \n:換行 \‘:單引號 \":雙引號 \\:右劃線
String資料類型的使用
- 特殊字元的使用方法和效果
- Unicode的插入方法
<script> var str="\u4f60\u597d\n歡迎來到\"JavaScript世界\""; alert(str);</script>
布爾型(Boolean)
簡介Boolean類型僅有兩個值:true和false,也代表1和0,實際運算中true=1,false=0布爾值也可以看作on/off、yes/no、1/0對應true/falseBoolean值主要用於JavaScript的控制語句,例如 if (x==1){ y=y+1; }else { y=y-1; }
Null & Undefined
Undefined 類型Undefined 類型只有一個值,即 undefined。當聲明的變數未初始化時,該變數的預設值是 undefined。當函數無明確傳回值時,返回的也是值 "undefined";Null 類型另一種只有一個值的類型是 Null,它只有一個專用值 null,即它的字面量。值 undefined 實際上是從值
null 派生來的,因此 ECMAScript 把它們定義為相等的。儘管這兩個值相等,但它們的含義不同。undefined 是聲明了變數但未對其初始化時賦予該變數的值,null
則用於表示尚未存在的對象(在討論 typeof 運算子時,簡單地介紹過這一點)。如果函數或方法要返回的是
對象,那麼找不到該對象時,返回的通常是 null。var person=new Person()var person=null
資料類型轉換
JavaScript屬於鬆散類型的程式語言變數在聲明的時候並不需要指定資料類型變數只有在賦值的時候才會確定資料類型運算式中包含不同類型資料則在計算過程中會強制進行類別轉換數字 + 字串:數字轉換為字串數字 + 布爾值:true轉換為1,false轉換為0字串 + 布爾值:布爾值轉換為字串true或false
強制類型轉換函式
函數parseInt: 強制轉換成整數 例如parseInt("6.12")=6 ; parseInt(“12a")=12 ; parseInt(“a12")=NaN ;parseInt(“1a2")=1函數parseFloat: 強制轉換成浮點數 parseFloat("6.12")=6.12函數eval: 將字串強制轉換為運算式並返回結果 eval("1+1")=2 ; eval("1<2")=true
類型查詢函數(typeof)
ECMAScript 提供了 typeof 運算子來判斷一個值是否在某種類型的範圍內。可以用這種運算子判斷一個值是否表示一種原始類型:如果它是原始類型,還可以判斷它表示哪種原始類型。
函數typeof :查詢數值當前類型? (string / number / boolean / object )例如typeof("test"+3) "string"例如typeof(null) "object "例如typeof(true+1) "number"例如typeof(true-false) "number"
ECMAScript 運算子ECMAScript 算數運算子
加(+)、 減(-)、 乘(*) 、除(/) 、餘數(% ) 加、減、乘、除、餘數和數學中的運算方法一樣 例如:9/2=4.5,4*5=20,9%2=1-除了可以表示減號還可以表示負號 例如:x=-y+除了可以表示加法運算還可以用於字串的串連 例如:"abc"+"def"="abcdef"
遞增(++) 、遞減(--)
假如x=2,那麼x++運算式執行後的值為3,x--運算式執行後的值為1i++相當於i=i+1,i--相當於i=i-1遞增和遞減運算子可以放在變數前也可以放在變數後:--i var i=1;console.log(i++);console.log(++i);console.log(i--);console.log(--i);
一元加減法:
var a=1; var b=1; a=-a; //a=-1 var c="10"; alert(typeof (c)); c=+c; //類型轉換 alert(typeof (c));// ------------------- var d="yuan"; d=+d; alert(d);//NaN:屬於Number類型的一個特殊值,當遇到將字串轉成數字無效時,就會得到一個NaN資料 alert(typeof(d));//Number //NaN特點: var n=NaN; alert(n>3); alert(n<3); alert(n==3); alert(n==NaN); alert(n!=NaN);//NaN參與的所有的運算都是false,除了!=
ECMAScript 邏輯運算子
等於 ( == ) 、不等於( != ) 、 大於( > ) 、 小於( < ) ?大於等於(>=) 、小於等於(<=)與 (&&) 、或(||) 、非(!)&& 1 = 1 1 || 1 = 1&& 0 = 0 1 || 0 = 1&& 0 = 0 0 || 0 = 0!0=1!1=0
邏輯 AND 運算子(&&)
[javaScript]--基礎學習