javascript的組成
1.ECMAScript
2.Dom? 文檔對象模型(Dom,Document Object Model),讓js有能力與頁面元素對話
3.Bom? 瀏覽器對象模型(Bom,Browser Object Model),讓js有能力與網(wǎng)頁進(jìn)行對話
javascript的語法
1.內(nèi)部腳本文件
? 在<script></script>標(biāo)簽中寫js代碼,該標(biāo)簽可以放在頁面的任何位置
? <script>? ?
? ? ? ? JS腳本
? </script>
2.外部腳本文件
? ? 1)、創(chuàng)建腳本文件并編寫 腳本
? ? ? 腳本文件:***.js
? ? 2)、引入外部腳本文件
? ? ? <script src="腳本文件路徑"></script>
? ? ? ? 注意:
? ? ? ? ? 1、必須是成對的 script
? ? ? ? ? 2、該對標(biāo)記中,不允許出現(xiàn)任何
3.注釋
? ? ? ? ? ? ? 1) // 單行注釋
? ? ? ? ? ? ? 2)多行注釋? /*多
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 行
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 內(nèi)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 容*/? ? ?
javascript的數(shù)據(jù)類型:
1.數(shù)字類型? number
? ? ? ? ? ? ? 數(shù)字類型包括整數(shù)和小數(shù)
? ? ? ? ? ? ? var a=1;
? ? ? ? ? ? ? ?
? ? ? ? 2. 字符串? string?
? ? ? ? ? ? ? 有引號 單引或雙引的都是字符串類型
? ? ? ? ? ? ? var a='字符';
? ? ? ? 3.布爾類型? boolean
? ? ? ? ? ? ? 布爾類型只有兩個值 true 和 false,true表示真,false表示假
? ? ? ? ? ? ? 在做運算的時候 true為1? false 為0?
? ? ? ? ? ? ? true+false=1
? ? ? ? ? ? ? var a=true;
? ? ? ? 4.null? 空
? ? ? ? 5.undefined? 未定義(未賦值)
? ? ? ? ? ? ? ? ? ? 聲明變量沒復(fù)制返回undefined
? ? ? ? ? ? ? ? ? ? 例:
? ? ? ? ? ? ? ? ? ? ? ? var a;
? ? ? ? ? ? ? ? ? ? ? ? console.log(a);
? ? ? ? 6.object 對象
? ? ? ? ? ?
? ? ? ? ? ? ? ? ? ? var obj={};
? ? ? ? ? ? ? ? ? ? var arr=[];
? ? ? ? ? ? ? ? ? ? var date=new Date();
查看數(shù)據(jù)類型
? ? ? ? ? ? ? typeof
? ? ? ? ? ? ? var a=1;
? ? ? ? ? ? ? console.log(typeof(a));
javascript的輸出方式
? ? ? ? ? ? console.log('控制臺輸出');
? ? ? ? ? ? document.write('頁面打印出');
? ? ? ? ? ? alert('頁面彈框');
? ? ? ? ? ? prompt(輸入彈框)
? ? ? ? ? ? var prompt('請輸入你的密碼');
? ? ? ? ? ? 嚴(yán)格區(qū)分大小寫
? ? ? ? ? ? ? ? console.log("");正確
? ? ? ? ? ? ? ? Console.log("");錯誤
變量和常量
1. 變量:內(nèi)存中的一段存儲空間
2. 變量的聲明
1)、聲明
? ? ? ? ? ? var 變量名;
2)、賦值
? ? ? ? ? ? 變量名=值;
3)、聲明變量并賦初始值
? ? ? ? ? ? var 變量名=值;
? ? //輸出
? ? ? ? var a=('值');
? ? ? ? console.log(a);? ? 控制臺輸出
? ? ? ? document.write(a);? 頁面打印出
? ? ? ? alert(a);? ? ? ? ? 頁面彈框
? ? ?
4)、注意:
聲明變量時可以不加 var 關(guān)鍵字
var stuname="盛邦升華";
stuname="盛邦升華";
如果省略了 var 關(guān)鍵字, 那么聲明的就是"全局變量",有可能造成 "全局污染" 的效果
5)、如果聲明變量沒有賦值的話,那么將自動賦值為 undefined (未定義、未賦值)
3、一次性聲明多個變量
聲明 stuname,stuage,stugender 變量
? ? ? ? ? ? var stuname;
? ? ? ? ? ? var stuage;
? ? ? ? ? ? var stugender;
一次性聲明多個變量 使用一個 var 關(guān)鍵字, 多變量名之間 用 , 分隔
var stuname, stuage,stugender;
4、變量的命名規(guī)范
1)、可以包含字母、數(shù)字、下劃線、$
? ? ? ? ? ? var +name; //錯誤 ,不能有 +
? ? ? ? 2)、不能以數(shù)字開頭
? ? ? ? ? ? var 1name; //錯誤
? ? ? ? ? ? var name1; //正確
? ? ? ? ? ? var $name; //正確
? ? ? ? ? ? var _name; //正確
? ? ? ? 3)、盡量見名知意
? ? ? ? ? ? var a;
? ? ? ? ? ? var b,c,d,e,f,g,aab,aac;
? ? ? ? ? ? //以上方式, 不推薦
? ? ? ? ? ? var username;
? ? ? ? ? ? var salary;
5、可以采用 "匈牙利命名法","駝峰命名法","下劃線命名法"
1)駝峰命名法
? ? ? ? 如果 變量名 是由多個單詞組成的合成詞,從第二個單詞開始,每個單詞的首字符變大寫。
? ? ? ? ? ? var userName;
? ? ? ? ? ? var userSalary;
? ? ? ? ? ? var stuJavaScore
2)下劃線命名法
? ? ? ? ? ? var _userName; //一般用于全局變量命名
? ? ? ? ? ? var user_name;
? ? ? ? 1、常量:一旦聲明就不可以改變的值叫做常量
? ? ? ? ? ? 比如:1天=24小時? 1小時=60分鐘? 太陽每天東升西落
? ? ?
? ? ? ? 1.聲明常量的方法:
? ? ? ? ? ? ? 1)聲明常量用 const,常量名一般大寫,聲明常量必須賦值
? ? ? ? ? ? ? ? ? ? const 大寫常量名;
? ? ? ? ? ? ?
? ? ? ? ? ? ? 2) 賦值
? ? ? ? ? ? ? ? ? 大寫常量名=值;
? ? ? ? ? ? ?
? ? ? ? ? ? ? 3)聲明常量并賦值
? ? ? ? ? ? ? ? ? const 大寫常量名=值;
? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ? (輸出
? ? ? ? ? ? ? ? ? ? const A=('值');
? ? ? ? ? ? ? ? ? ? console.log(A);? ? 控制臺輸出
? ? ? ? ? ? ? ? ? ? document.write(A);? 頁面打印出
? ? ? ? ? ? ? ? ? ? alert(A);? ? ? ? ? 頁面彈框
? ? ? ? ? ? ? ? ? )
練習(xí):聲明一個變量r表示圓的半徑,并賦值為10,再聲明一個常量PI表示π,并賦值為3.14。
求圓的周長l(2πr)和面積s(πrr);
? ? ? ? ? ? ? ? ? ? ? ? var r='10';
? ? ? ? ? ? ? ? ? ? ? ? const π='3.14';
? ? ? ? ? ? ? ? ? ? ? ? console.log(2*π*r);(最后控制臺輸出 數(shù)字格式 62.800000000000004)
? ? ? ? ? ? ? ? ? ? ? ? console.log(π*r*r);(最后控制臺輸出 數(shù)字格