JavaScript的基本介紹


javascript

       JavaScript一種直譯式腳本語言,是一種動態類型、弱類型、基於原型的語言,內置支持類型。它的解釋器被稱為JavaScript引擎,為瀏覽器的一部分,廣泛用於客戶端的腳本語言,最早是在HTML(標准通用標記語言下的一個應用)網頁上使用,用來給HTML網頁增加動態功能。
       在1995年時,由Netscape公司的Brendan Eich,在網景導航者瀏覽器上首次設計實現而成。因為Netscape與Sun合作,Netscape管理層希望它外觀看起來像Java,因此取名為JavaScript。但實際上它的語法風格與Self及Scheme較為接近。 [1]  
為了取得技術優勢,微軟推出了JScript,CEnvi推出ScriptEase,與JavaScript同樣可在瀏覽器上運行。為了統一規格,因為JavaScript兼容於ECMA標准,因此也稱為ECMAScrip t

組成部分

ECMAScript,描述了該語言的語法和基本對象。
文檔對象模型(DOM),描述處理網頁內容的方法和接口。
瀏覽器對象模型(BOM),描述與瀏覽器進行交互的方法和接口。
  javascript組成

JavaScript基礎

JS的引入方式

1 直接編寫
    <script>
        alert('hello yuan')
    </script>
2 導入文件
    <script src="hello.js"></script>
3 內聯(不推薦使用)

JS的變量、

 1.聲明變量時不用聲明變量類型,全部使用var關鍵字 

var a;<br>a=3;

 2.一行可以聲明多個變量.並且可以是不同類型

var name="yuan", age=20, job="lecturer";

 3.一行可以聲明多個變量.並且可以是不同類型

 4.變量命名:

      a.首字符只能是字母,下划線,$美元符 三選一,余下的字符可以是下划線、美元符號或任何字母或數字字符且區分大小寫。

      b.最好語義化,看其名之其意,使用數據類型的首字母做前綴。

      c.不允許使用關鍵字和保留字

JS的數據類型

 數據類型有:

number     -----  數值
boolean    -----  布爾值
string     -----  字符串
undefined  -----  undefined
null       -----   null  
object ----- 對象
array ----- 數組
function ----- function

數字類型

  • 不區分整型數值和浮點型數值;

字符串類型(string):

是由Unicode字符、數字、標點符號組成的序列;字符串常量首尾由單引號或雙引號括起;JavaScript中沒有字符類型;常用特殊字符在字符串中的表達;
字符串中部分特殊字符必須加上右划線\;常用的轉義字符 \n:換行 \':單引號 \":雙引號 \\:右划線

 布爾類型(bolean):

Boolean類型僅有兩個值:true和false,也代表1和0,實際運算中true=1,false=0
布爾值也可以看作on/off、yes/no、1/0對應true/false
Boolean值主要用於JavaScript的控制語句,例如:

if (x==1){
      y=y+1;
}else{
      y=y-1;
      }

Undefined類型

1.Undefined 類型只有一個值,即 undefined。當聲明的變量未初始化時,該變量的默認值是 undefined。

2.當函數無明確返回值時,返回的也是值 "undefined";

Null類型

另一種只有一個值的類型是 Null,它只有一個專用值 null,即它的字面量。值 undefined 實際上是從值 null 派生來的,因此 ECMAScript 把它們定義為相等的。

盡管這兩個值相等,但它們的含義不同。undefined 是聲明了變量但未對其初始化時賦予該變量的值,null 則用於表示尚未存在的對象(在討論 typeof 運算符時,簡單地介紹過這一點)。如果函數或方法要返回的是對象,那么找不到該對象時,返回的通常是 null。

對象類型(object):

JavaScript 中的所有事物都是對象:字符串、數值、數組、函數...

此外,JavaScript 允許自定義對象。

數組(array):

數組是特殊的對象。

運算符

運算符分類

 
算術運算符:
    +   -    *    /     %       ++        -- 

比較運算符:
    >   >=   <    <=    !=    ==    ===   !==

邏輯運算符:
     &&   ||   !

賦值運算符:
    =  +=   -=  *=   /=

字符串運算符:
    +  連接,兩邊操作數有一個或兩個是字符串就做連接運算
 

 算術運算符:自增,自減

++i:先計算后賦值
i++:先賦值后計算

 假如x=2,那么x++表達式執行后的值為3,x--表達式執行后的值為1;i++相當於i=i+1,i--相當於i=i-1;

 js不同於python,是一門弱類型語言

能夠進行數據轉換的叫做弱類型
console.log('1'==1)  //True
console.log('1'===1)  //False
  
強類型
print(1='1') //False

 NaN

 
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,除了!=
   NaN不等於NaN
 

 比較運算符

>   >=   <    <=    !=    ==    ===   !==    (具有隱式類型轉換規則)

 

 等號和非等號的同類運算符是全等號和非全等號。這兩個運算符所做的與等號和非等號相同,只是它們在檢查相等性前,不執行類型轉換。

  console.log(2==2); //true
  console.log(2=='2'); //true  因為js是弱類型的,所以返回true

  console.log(2==='2'); //false (===判斷的是類型,類型不一樣就為false了)
  console.log(2!=='2'); //true !==和===是相反的

 注意:

 
var bResult = "Blue" < "alpha";
alert(bResult); //輸出 true  
在上面的例子中,字符串 "Blue" 小於 "alpha",因為字母 B 的字符代碼是 66,字母 a 的字符代碼是 97。

比較數字和字符串

另一種棘手的狀況發生在比較兩個字符串形式的數字時,比如:

var bResult = "25" < "3";
alert(bResult); //輸出 "true"
上面這段代碼比較的是字符串 "25" 和 "3"。兩個運算數都是字符串,所以比較的是它們的字符代碼("2" 的字符代碼是 50,"3" 的字符代碼是 51)。

不過,如果把某個運算數該為數字,那么結果就有趣了:

var bResult = "25" < 3;
alert(bResult); //輸出 "false"

這里,字符串 "25" 將被轉換成數字 25,然后與數字 3 進行比較,結果不出所料。

總結:

比較運算符兩側如果一個是數字類型,一個是其他類型,會將其類型轉換成數字類型.
比較運算符兩側如果都是字符串類型,比較的是最高位的asc碼,如果最高位相等,繼續取第二位比較.
 

 邏輯運算符

||(或);&&(且); !(非)
console.log(1&&3); //3 兩個為真才為真(0為假,其他的數字都代表真) console.log(0&&3); //0 只要有一個為假則為假 console.log(0||3); //3 console.log(2||3); //2

常量和標識符

常量 :直接在程序中出現的數據值

標識符

  1. 由不以數字開頭的字母、數字、下划線(_)、美元符號($)組成
  2. 常用於表示函數、變量等的名稱
  3. 例如:_abc,$abc,abc,abc123是標識符,而1abc不是
  4. JavaScript語言中代表特定含義的詞稱為保留字,不允許程序再定義為標識符

關鍵字:

  

流程控制

  • 順序結構(從上向下順序執行)
  • 分支結構
  • 循環結構

分支結構:

 1. if.....else結構:

 
if (表達式1) {
    語句1;
}else if (表達式2){
    語句2;
}else if (表達式3){
    語句3;
} else{
    語句4;
}
 

 

   2.switch-case結構

 
switch基本格式
switch (表達式) {
    case 值1:語句1;break;
    case 值2:語句2;break;
    case 值3:語句3;break;  //break阻止case的穿透
    default:語句4;
}
 

 

 示例

 
switch(x){
case 1:y="星期一";    break;
case 2:y="星期二";    break;
case 3:y="星期三";    break;
case 4:y="星期四";    break;
case 5:y="星期五";    break;
case 6:y="星期六";    break;
case 7:y="星期日";    break;
default: y="未定義";
}
 

 

 switch比else if結構更加簡潔清晰,使程序可讀性更強,效率更高。

循環語句

for循環:(推薦使用)

 
語法規則:

    for(初始表達式;條件表達式;自增或自減)
    {
            執行語句
            ……
    }
 

 

 for循環的另一種形式:

for( 變量 in 數組或對象)
    {
        執行語句
        ……
    }

while循環:

語法規則:

while (條件){
    語句1;
    ...
}

 do-while循環:

語法規則:
do{}
while (條件){
    語句1;
    ...
}

  

輸出方式

我們在編寫js代碼的時候,經常需要得到計算的值,用以判斷得到的值與我們預期的值是否相符,所以我們需要了解下面的基本的輸出方式。

// console.log() 將內容輸出到瀏覽器的控制台 console.log(10+2); // document.write() 將內容輸出到網頁當中 document.write(10+2);

通常情況下我們通過console.log()這種形式輸出代碼我們稱之為代碼打印

彈窗

js中,如果你的代碼運行環境是在瀏覽器當中,那么就可以使用瀏覽器給我們提供的彈窗。

alert(10+2); confirm(10+2); prompt(10+2);

上述的三個彈窗只能夠在運行環境為瀏覽器的情況下使用。

 


                                                                                                                             


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM