javascript的發(fā)展史
? ? 1、1992年 ,Nombas 為自己的軟件寫一款腳本語言 C-- --》 ScritEase ,可以嵌入在網(wǎng)頁中運(yùn)行
? ? 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(歐洲計(jì)算機(jī)制造商聯(lián)合會(huì)) ECMA-262標(biāo)準(zhǔn) 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.嚴(yán)格區(qū)分大小寫? ? ? ? ? ? ? ? ? ? ? ? ? ? console.log(""); 正確
? ? ? Console.log("");錯(cuò)誤? ?
變量和常量
? ? 1.變量:內(nèi)存中的一段存儲(chǔ)空間
? ? 2. 變量的聲明:
? ? 1)、聲明
? ? var 變量名;
? ? 2)得院、賦值
? 變量名=值;
? ? 3)傻铣、聲明變量并賦初始值
? var 變量名=值;
? ? 4)、注意
? ? 聲明變量時(shí)可以不加 var 關(guān)鍵字 ? var stuname="張三豐";== stuname="張三豐";
? 如果省略了 var 關(guān)鍵字祥绞, 那么聲明的就是"全局變量"矾柜,有可能造成 "全局污染" 的效果
? ? 5)、如果聲明變量沒有賦值的話就谜,那么將自動(dòng)賦值為 undefined
? ? 3怪蔑、一次性聲明多個(gè)變量
stuname,stuage丧荐,stugender
var stuname; ? var stuage; ? var stugender; 一次性聲明多個(gè)變量 使用一個(gè) var 關(guān)鍵字缆瓣, 多變量名之間 用 , 分隔? ? ? ? ? ? ? ? ? ? ? ? ? var stunamestuage,stugender;
? ? 4.變量的命名規(guī)范
? ? 1)、可以包含字母虹统、數(shù)字弓坞、下劃線、$? ? ? ? ? ? var +name; 錯(cuò)誤 车荔,不能有 +
? ? 2)渡冻、不能以數(shù)字開頭
? ? ? var 1name; 錯(cuò)誤 var name1; 正確? ? ? ? ? ? var $name; 正確 var _name; 正確
? ? 3)、盡量見名知意
? ? ? var a;
? ? ? var b,c,d,e,f,g,aab,aac;
? ? ? 以上方式忧便, 不推薦
? ? ? var username; var salary;
? ? 5族吻、可以采用 "匈牙利命名法","駝峰命名法","下劃線命名法"
? ? 1)、駝峰命名法
? ? 如果 變量名 是由多個(gè)單詞組成的合成詞珠增,從第二個(gè)單詞開始超歌,每個(gè)單詞的首字符變大寫。
? ? ? var userName; var userSalary; var stuJavaScore
? ? 2)蒂教、下劃線命名法
? ? var _userName;一般用于全局變量命名? ? ? ? var user_name;
常量:一旦聲明就不可以改變的值叫做常量? ? 比如:1天=24小時(shí) 1小時(shí)=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? 只要有引號(hào)的都是字符串(單/雙)
? ? var str='hello world';? var c='123';? var d="你好";
? 3. 布爾:boolean
? 只有兩個(gè)值? true真? false假? ? ? ? ? ? ? var boo1=true;? var boo2=false;? ? ? ? ? var boo3='true';string? ? ? ? ? ? ? ? ? ? var boo4='false';string
? ? 布爾值在做運(yùn)算的時(shí)候
? ? true會(huì)轉(zhuǎn)換為1? false會(huì)轉(zhuǎn)換為0? ? ? ? ? true+false=1? 1+true=2
? ? 4.undefined:定義的
? ? 5.null 空
? ? 6.object 對象
聲明一個(gè)變量沒賦值會(huì)返回一個(gè)undefined?
? ? ? var b;
? ? ? console.log(b);
? 直接輸出一個(gè)未聲明的變量會(huì)報(bào)錯(cuò)? ? ? ? ? ? ? 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