javascript的發(fā)展史
? ? 1、1992年 戴卜,Nombas 為自己的軟件寫一款腳本語言 C-- --》 ScritEase ,可以嵌入在網(wǎng)頁中運行
? ? 2、1995年 琢岩,Netscape(網(wǎng)景) Navigator2.0 --> LiveScript --> Javascript ,Java 與 Javascript之間沒有任何關(guān)系
? ? 3投剥、1996年 ,Microsoft 在 IE3.0 中發(fā)布 JS的克隆版 --> JScript
? ? 4担孔、1997年 江锨,Javascript 1.1 版本 作為 草案 提交給了 ECMA(歐洲計算機制造商聯(lián)合會) ECMA-262標(biāo)準 ECMAScript 作為 JS?
javascript的組成:
? ? ECMAscript? Dom? Bom
javascript的語法
? ? 1.在<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)任何內(nèi)容? ? ? ? 3.注釋
? ? 1)、單行注釋
? ? // 單行注釋
? ? 2)、多行注釋
? ? ? ? /*
? ? ? ? * 多
? ? ? ? * 行
? ? ? ? * 內(nèi)
? ? ? ? * 容
? ? ? ? */
? ? 4.嚴格區(qū)分大小寫? ? ? ? ? ? ? ? ? ? ? ? ? ? console.log(""); 正確
? ? ? Console.log("");錯誤? ?
變量和常量
? ? 1.變量:內(nèi)存中的一段存儲空間
? ? 2. 變量的聲明:
? ? 1)浮毯、聲明
? ? var 變量名;
? ? 2)完疫、賦值
? 變量名=值;
? ? 3)、聲明變量并賦初始值
? var 變量名=值;
? ? 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 stunamestuage,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天=24小時 1小時=60分鐘 太陽每天東升西落
? ? 1.聲明常量的方法:
? 1)聲明常量用 const,常量名一般大寫,聲明常量必須賦值
? 2)聲明常量并賦值? const DAY=24;? ? const PI=3.14;? ?
? ? 數(shù)據(jù)類型:
? ? 1.數(shù)字:number? 整數(shù)和小數(shù)? var a=5;? var b=13.5; var c=0.5;
? ? 2.字符串:string? 只要有引號的都是字符串(單/雙)
? ? var str='hello world';? var c='123';? var d="你好";
? 3. 布爾:boolean
? 只有兩個值? true真? false假? ? ? ? ? ? ? var boo1=true;? var boo2=false;? ? ? ? ? var boo3='true';string? ? ? ? ? ? ? ? ? ? var boo4='false';string
? ? 布爾值在做運算的時候
? ? true會轉(zhuǎn)換為1? false會轉(zhuǎn)換為0? ? ? ? ? true+false=1? 1+true=2
? ? 4.undefined:定義的
? ? 5.null 空
? ? 6.object 對象
聲明一個變量沒賦值會返回一個undefined?
? ? ? var b;
? ? ? console.log(b);
? 直接輸出一個未聲明的變量會報錯? ? ? ? ? ? ? console.log(c);
隱式轉(zhuǎn)換
1.number+number
? ? var a=3;
? ? var b=5;
? ? console.log(a+b);
2.number+string 拼接
? ? var a=3;
? ? var b='5';
? ? var