001-JAVASCRIPT————一個面向對象的跨平臺腳本語言。

JAVASCRIPT————一個面向對象的跨平臺腳本語言。

什麼是面相對象? javascript

clipboard.png

什麼是跨平臺? java

clipboard.png

什麼是腳本? 瀏覽器

clipboard.png

HTML文件必須在瀏覽器裏執行
JS文件必須嵌入到HTML文件裏才能執行
凡是不能獨立執行須要依賴其餘程序的,一般都叫作腳本。服務器

JS的特色:
一、鬆散性 (弱類型語言)
二、面相對象 (但沒有類的概念)
三、繼承
四、沒有多態函數

JS的發展歷史:
1995, Netscape LiveScript
目的: 表單驗證 ------爲了減輕服務器的負擔測試

1996,微軟, JScriptspa

1997, ECMA(歐洲計算機制造商協會)----->TC39設計

第一個標準: ECMA-262
主流瀏覽器 FirefoxChromeSafariOpera
javascript和java的關係,沒有關係,但JS的結構設計上借鑑了不少JAVA的內容code

標準的重要性:對象

clipboard.png

ECMA組成:

clipboard.png

第一個程序的編寫:
document.write(""你的報酬不是和你的勞動成正比,而是和你的勞動的不可替代性成正比。"————尹濤");

//常見的轉義字符
document.write("t"); //tab鍵
document.write("n"); //換行
document.write("\"); //表示輸出一個 \
document.write("""); //表示輸出一個 "

引入方式:
1 嵌入頁面
<script type="text/javascript">

//.............

</script>

2 外部文件
<script src="004.js">

document.write("這句代碼沒法執行!");

</script>

變量:
var a = 100;

數據類型:(對象類型!)

number ----> 整數、浮點數
string 字符串
boolean 布爾類型
undefined 對於JS來說,一個變量若是沒有賦值,不能肯定類型,類型就是undefined
object 對象類型
function 函數類型
null的類型也是object
使用一個沒有被var定義過的變量,會報錯!

對象:是一種對信息的封裝,加快信息的傳播速度,提升信息的完整度

關鍵字:
var ------->定義變量的關鍵字
typeof ------>查看一個變量的類型

命名規則:
1 只能包含 數字、字母、下劃線、$
2 不能夠 用數字開頭

運算符: 數學運算、賦值運算、邏輯運算、關係運算

  • (針對於字符串而言, +號表明 鏈接的意思), +號但凡碰到字符串,都是鏈接的意思

*
/
%

浮點數的運算 ------ 0.1+0.2 爲何不等於0.3???

解決方案: 首先將浮點數轉爲整數,進行運算,再除以相應的位數

= 賦值運算符 , a=10 該表達式的最終值等價於 10,也就是=號右邊的部分

類型轉換: 當有兩個不一樣類型的變量進行運算時,即有可能出現類型轉換
哪些符號能夠幫咱們作類型轉換呢?

  • 、 - 寫在字符串前,會對該字符串自動轉型爲number

*符號 、/符號 均可以作自動類型轉換

強制類型轉換:
1 Number()函數 只針對 純數字內容的字符串轉換有效
2 parseInt()函數 能夠忽略數字後面的字符
3 parseFloat()函數 能夠帶小數點的

NaN:
當變量沒法進行計算得出結果的時候,那麼久會出現NaN 全稱: Not a Number
NaN 不等於 NaN

//什麼是NaN     Not a Number
    //沒法計算的時候
    var a = "yintao";

    var b = a*10; //非數字 ----->內容不肯定

    var c = a*10;

    alert(b == c);  //兩個內容不肯定的 變量,沒法相等

關係運算符: > < >= <= == !=
=== 絕對相等
!== 絕對不相等

var a = 100;

    var b = "100";

    //alert(a == b);  //將左右兩邊的變量作類型轉換,而後再比較大小
    alert(a === b);   //不會對左右兩邊作類型轉換

邏輯運算符 && || !

var res = 1==1 && 3>5;  //false;
    var res = 1==1 || 3>5;  //true;
    var res = !(3>5);  //true

自增自減:

//alert(a++); // 1 先使用,再加1
//alert(++a); // 3 先加1,再使用

位運算:

var a = 3&5; //對數字進行按位與運算

/**

0000 0011
        0000 0101
        0000 0001  與   1
        0000 0111  或   7 
        0000 0110  異或 6
    */

var d = a<<2; //移位--- 左移兩位
var d = a>>3; //0

進制問題:
十進制、八進制、十六進制

var a = 99;

var b = 072;

進制轉換----> toString(進制數)

var a = 072; //八進制 58
var b = 0xAF; //十六進制 175
alert(a.toString(16)); //3a
將數字轉換爲指定的進制格式

var str = "3a"; //58
parseInt(str, 16); //第二個參數,指定字符串的進制形式

程序的三大結構:

if -- else

非布爾類型的條件判斷
if( 2 ) number類型 ------>全部的非0數字表明 true , 0表明false
if("abc") string類型 -------> 全部的非空字符串都表明 true, "" 表明false
if(obj) object類型 -------->全部的非null的對象都表明true,null表明false
if(undefined) -------> 表明false,
if(NaN) --------> 表明false
if( function ) ---------> 若是函數存在,表明true

switch

var num = 3;
switch(num) {

default : alert("不知道!"); break;  //這裏也須要break
case 1 : alert("星期一"); break;
case 2 : alert("星期二"); break;

}

document.wirte() 會覆蓋頁面原有的內容,所以咱們平時測試,都會將信息輸出到控制檯 console.log(xxxxxx);

相關文章
相關標籤/搜索