什麼是面相對象? javascript
什麼是跨平臺? java
什麼是腳本? 瀏覽器
HTML文件必須在瀏覽器裏執行
JS文件必須嵌入到HTML文件裏才能執行
凡是不能獨立執行須要依賴其餘程序的,一般都叫作腳本。服務器
JS的特色:
一、鬆散性 (弱類型語言)
二、面相對象 (但沒有類的概念)
三、繼承
四、沒有多態函數
JS的發展歷史:
1995, Netscape LiveScript
目的: 表單驗證 ------爲了減輕服務器的負擔測試
1996,微軟, JScriptspa
1997, ECMA(歐洲計算機制造商協會)----->TC39設計
第一個標準: ECMA-262
主流瀏覽器 FirefoxChromeSafariOpera
javascript和java的關係,沒有關係,但JS的結構設計上借鑑了不少JAVA的內容code
標準的重要性:對象
ECMA組成:
第一個程序的編寫:
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,也就是=號右邊的部分
類型轉換: 當有兩個不一樣類型的變量進行運算時,即有可能出現類型轉換
哪些符號能夠幫咱們作類型轉換呢?
*符號 、/符號 均可以作自動類型轉換
強制類型轉換:
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);