js總結(jié)

javascript的發(fā)展史

? ? 1、1992年 佃声,Nombas 為自己的軟件寫一款腳本語言 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ī)制造商聯(lián)合會) ECMA-262標(biāo)準(zhǔn) ECMAScript 作為 JS

javascript的組成:

? ? ECMAscript? Dom? Bom

javascript的語法

? ? 1.在<script></script>標(biāo)簽中寫

? ? ? ? <script>

? ? 代碼

? </script>

? ? 2.外部腳本文件

? ? 1)盹舞、

? ? 創(chuàng)建腳本文件并編寫腳本? 腳本文件:? ? ? ? ? ? ? ? ***.js

? ? 2)姨夹、引入外部腳本文件

? ? <script src="腳本文件路徑"></script>

注意:

? ? 1、必須是成對的 script標(biāo)簽

? ? 2矾策、該對標(biāo)記中磷账,不允許出現(xiàn)任何于js無關(guān)的內(nèi)容? ? ?

? 3.注釋

? ? 1)、單行注釋

? ? // 單行注釋

? ? 2)贾虽、多行注釋

? ? ? ? /*

? ? ? ? * 多

? ? ? ? * 行

? ? ? ? * 內(nèi)

? ? ? ? * 容

? ? ? ? */

? ? 4.嚴(yán)格區(qū)分大小寫

? ? ? console.log(""); 正確

? ? ? Console.log("");錯誤?

變量和常量

? ? 1.變量:內(nèi)存中的一段存儲空間

? ? 2. 變量的聲明:

? ? 1)逃糟、聲明

? ? var? 變量名;

? ? 2)、賦值

? 變量名=值;

? ? 3)蓬豁、聲明和賦值合一塊

? var 變量名=值;

? ? 4)绰咽、注意

? ? 聲明變量時可以不加 var

? var stuname="張三豐";== stuname="張三豐";

? 如果省略了 var 摔癣, 那么聲明的就是"全局變量"酬凳,有可能造成 "全局污染"

? ? 5)、如果聲明變量沒有賦值的話檐蚜,那么將自動賦值為 undefined

? ? 3蟆技、一次性聲明多個變量

? ? stuname玩敏,stuage斗忌,stugender

? var stuname;? var stuage;? var stugender;

一次性聲明多個變量 使用一個 var , 多變量名之間 用 ,分隔

? ? ? ? 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天=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

? ? 布爾值在做運(yùn)算的時候

? ? 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 c='hello world';

? ? ? ? console.log(a+c);

3.number+boolean

? ? ? ? var a=3;

? ? ? ? var b=true;

? ? ? ? var c=false;

? ? ? ? console.log(a+c);

? ? ? ? console.log(a+b);

4.string+boolean? 拼接

? ? ? ? var a='3';

? ? ? ? var b=true;

? ? ? ? console.log(a+b);

5 number+undefined

? ? ? ? var a=3;

? ? ? ? var b;

? ? ? ? console.log(typeof(a+b));

? ? ? ? not a number

? ? ? ? 不是一個數(shù)字

6.numberstring +undefined

? ? ? ? var a='3';

? ? ? ? var b;?

? ? ? ? console.log(typeof (a+b));

總結(jié):? ? number+string? 拼接

? ? ? ? number+boolean? ? ? boolean轉(zhuǎn)number

? ? ? ? number+undefined? ? NAN

? ? ? ? boolean+boolean? ? 求和數(shù)據(jù)類型

? ? ? ? string加任何東西都是拼接

判斷數(shù)據(jù)類型:

? ? ? ? typeof

數(shù)據(jù)類型:number

? ? ? ? isNaN:is? ? not a number

? ? ? ? ? ? ? ? ? ? 是 ,? 不是一個數(shù)字

? ? ? ? 作用:判斷一個非數(shù)字? ? 如果是數(shù)字返回false,如果不是一個數(shù)字返回true

? ? ? ? var a=3;

? ? ? ? var b='5';

? ? ? ? var c=true;

? ? ? ? console.log(isNaN(a));false

? ? ? ? console.log(isNaN(b));true

聲明提前

? ? ? ? console.log(a);

? ? ? ? var a=3,

? ? ? ? js在執(zhí)行的時候會自動把var提到標(biāo)簽頂部

? ? ? ? 但是賦值不會被提到頂部

? ? ? ? 所以就等于這是一個沒有賦值的變量

? ? ? ? 沒有賦值的變量會返回? undefined

? ? ? ? var a;

? ? ? ? console.log(a);

? ? ? ? a=3;

顯示轉(zhuǎn)換/強(qiáng)制轉(zhuǎn)換

parseInt();轉(zhuǎn)換成整數(shù)

? ? ? ? var a='5';

? ? ? ? ? var b=parseInt(a);

? ? ? ? ? console.log(typeof a);

? ? ? ? console.log(isNaN(a));

? ? ? ? parseFloat();轉(zhuǎn)換成小數(shù)

? ? ? ? var a='1.01';

? ? ? ? var b=parseFloat(a);

? ? ? ? console.log(b);

? ? ? ? console.log(typeof b);

Number();轉(zhuǎn)換成number類型

? ? ? var a='5';

? ? ? ? var b=Number(a);

? ? ? ? console.log(b);

? ? ? ? console.log(typeof b);

toString();轉(zhuǎn)換成字符串

? ? ? var a=true;

? ? ? var b=a.toString();

? ? ? console.log(b);

? ? ? console.log(typeof b);

toFixed();按要求保留小數(shù)位數(shù)

? ? ? var a=13.956;

? ? ? var b=a.toFixed(4);

? ? ? console.log(typeof b);

一、隱式轉(zhuǎn)換結(jié)論

1岳掐、數(shù)字 + 字符串 :將數(shù)字轉(zhuǎn)換成字符串

2凭疮、數(shù)字 + boolean :將 boolean 轉(zhuǎn)換為 number類型

3、數(shù)字 + undefined :結(jié)果為 NaN串述,NaN的類型是 number

4执解、字符串 + boolean :將boolean 轉(zhuǎn)換成字符串

5、boolean + boolean :都轉(zhuǎn)換為number在做相加運(yùn)算

注:NaN:not a number? 判斷一個非數(shù)字? ? 如果不是一個數(shù)字返回true纲酗,如果是一個數(shù)字返回false

? ? ? 案例: var str="hello world";

? ? ? ? ? ? ? ? ? ? var str1=isNaN(str);

? ? ? ? ? ? ? ? ? ? console.log(str1);

二衰腌、顯示轉(zhuǎn)換/強(qiáng)制轉(zhuǎn)換

? ? ? 1.toString()? 將任意類型轉(zhuǎn)換為字符串類型

? ? ? ? ? ? ? var? num=5;

? ? ? ? ? ? ? var str=num.toString();

? ? ? ? ? ? ? console.log(typeof str);

? ? ? 2.parseInt(); 將一個數(shù)據(jù)轉(zhuǎn)換為整數(shù)

? ? ? ? ? ? ? var? num=5.5;

? ? ? ? ? ? ? var str=parseInt(num);

? ? ? ? ? ? ? console.log(str);? ?

? ? ? ? ? ? ? console.log(typeof str);

? ? ? 3.parseFloat()? 將一個數(shù)據(jù)轉(zhuǎn)換為小數(shù)

? ? ? ? ? ? ? var? num=.5;

? ? ? ? ? ? ? var str=parseFloat(num);

? ? ? ? ? ? ? console.log(typeof str);

? ? ? ? ? ? ? console.log(typeof str);

? ? ? ? 4.Number? 將一個數(shù)據(jù)轉(zhuǎn)換為number類型

? ? ? ? ? ? ? var str="35.5你好";

? ? ? ? ? ? ? var str1=Number(str);

? ? ? ? ? ? ? console.log(str);

三、運(yùn)算符和表達(dá)式

? ? ? ? 1.算數(shù)運(yùn)算符

? ? ? ? ? + , - , * , / ,

? ? ? ? %:模,計算兩個相除的數(shù)字的余數(shù)

? ? ? ? 10 % 3 = 1

? ? ? ? 10.5 % 3 = 1.5

? ? ++,-- 運(yùn)算符觅赊,單目運(yùn)算符

? ? ++:自增加一

? ? ++在前 :先自身加一,在賦值

? ? var a=5;

? ? var b=++a;

? ? 先把a(bǔ)的值自增+1

? ? 再把自增后的賦值給b

? ? ++在后 :先賦值,在自增加一

? ? var a=5;

? ? var b=a++;

? ? 先把a(bǔ)的值賦值給b

? ? 再自增加一

? ? --:自減減一

? ? --和++的性質(zhì)一樣

四舍五入:toFixed(保留位數(shù));

案例:

? ? var a=3.1415;

? var b=a.toFixed(2);

? document.write(b);

? ? 由算術(shù)運(yùn)算符組成的表達(dá)式右蕊,叫算術(shù)表達(dá)式

? ? var a;

? ? var b;

? ? var c = a + b;? ? 算術(shù)表達(dá)式,賦值表達(dá)式

2吮螺、關(guān)系運(yùn)算符

? ? ? 1饶囚、作用

? ? ? ? ? ? 判斷數(shù)據(jù)之間的大小或相等關(guān)系

? ? ? 2、關(guān)系運(yùn)算符

? ? ? ? ? ? > , < ,> = ,< = ,== ,!=

由 關(guān)系運(yùn)算符所組成的表達(dá)式 稱之為 關(guān)系表達(dá)式鸠补,關(guān)系表達(dá)式的值為boolean類型

? ? ? ? ? ? ==萝风,!= : 只判斷數(shù)值是否相等

? ? ? ? ? ? ===? :全等? ? 類型相同 數(shù)值相同

? ? ? ? ? !==:不全等

? ? ? 3、邏輯運(yùn)算符

? ? ? 1紫岩、作用

? ? ? ? ? ? 判斷多條件 以及 條件取反時使用

? ? ? 2规惰、語法

? ? ? ? ? 1、邏輯? ? 非

? ? ? ? ? ? 對現(xiàn)有條件 取反

? ? ? ? ? 語法:!

? ? ? ? ? ? 2泉蝌、邏輯? ? 與

? ? ? ? ? ? 有兩個條件歇万,兩條件同時為真時,表達(dá)式才為真揩晴。

? ? ? ? ? 語法:&&

? ? ? 3、邏輯? ? 或

? ? ? ? ? 有兩個條件堕花,只要有一個為真文狱,表達(dá)式就為真

? ? ? ? ? 語法:||

? ? ? 4粥鞋、運(yùn)算結(jié)果

? ? ? ? ? ? true && true : true

? ? ? ? ? true && false : false

? ? ? ? ? false && true : false

? ? ? ? ? false && false :false

? ? ? ? ? true || true : true

? ? ? ? ? true || false :true

? ? ? ? ? false || true : true

? ? ? ? ? false || false :false

? ? ? 5.條件運(yùn)算符(三目運(yùn)算符)

? ? ? 1缘挽、語法:?

? ? ? 表達(dá)式1?表達(dá)式2:表達(dá)式3;

? ? ? 表達(dá)式1,值應(yīng)該為 boolean 類型

? ? ? 如果表達(dá)式1的值為true呻粹,那么表達(dá)式2的值則作為整個表達(dá)式的值

? ? ? 如果表達(dá)式1的值為false壕曼,那么表達(dá)式3的值則作為整個表達(dá)式的值

? ? ? ex :輸入考試成績,如果成績大于等于60 等浊,則輸出及格腮郊,否則輸出 不及格

? ? ? var a=prompt("請輸入你的成績");

? ? ? if(a>=60){

? ? ? alert("及格");

? ? ? }else{

? ? ? alert("不及格");

? ? ? }

一:運(yùn)算符和表達(dá)式

? ? ? ? 一、流程控制語句

? ? ? ? 1.

? ? ? ? if(條件){

? ? ? ? ? ? 要執(zhí)行的語句

? ? ? ? ? }

? ? ? ? 2.

? ? ? ? ? if(條件){

? ? 條件為true時執(zhí)行的語句

? ? ? ? ? }else{

? ? 條件不為true時執(zhí)行的語句

? ? ? ? ? }

? ? ? ? ? 3.多重條件語句

? ? ? ? ? if(條件){


? ? ? ? ? }else if(){


? ? ? ? ? ? }

? ? ? ? ? 4.switch .....case

? ? ? ? ? ? switch(變量){

? ? ? ? ? case 情況1:

? ? ? ? ? ? ? 要執(zhí)行的語句筹燕;

? ? ? ? ? break;

? ? ? ? ? case 情況2:

? ? ? ? ? ? ? 要執(zhí)行的語句轧飞;

? ? ? ? ? break;

? ? ? ? ? case 情況3:

? ? ? ? ? ? ? 要執(zhí)行的語句;

? ? ? ? ? break;

? ? ? ? ? default:以上任何一塊都沒匹配上的時候

? ? ? ? ? 要執(zhí)行的語句撒踪;

? ? ? ? ? break;

? ? ? ? ? ? }

? ? ? ? ? ? 用switch .....case完成以下練習(xí)

? ? ? ? ? ? ? 請輸入今天星期幾过咬,

? ? ? ? ? ? ? 星期一吃:米飯

? ? ? ? ? ? ? 星期二:吃饅頭

? ? ? ? ? ? ? 星期三:吃面包

? ? ? ? ? ? ? 星期四:吃包子

? ? ? ? ? ? ? 星期五:吃餃子

? ? ? ? ? ? ? 星期六:吃油條

? ? ? ? 否則:不管飯,自己解決


? ? ? ? var a=prompt("今天星期幾")

? ? ? ? switch(a){

? ? ? ? case"星期一":

? ? ? ? alert("米飯");

? ? ? ? break;

? ? ? ? case"星期二":

? ? ? ? alert("饅頭");

? ? ? ? break;

? ? ? ? case"星期三":

? ? ? ? alert("面包");

? ? ? ? break;

? ? ? ? case"星期四":

? ? ? ? alert("包子");

? ? ? ? break;

? ? ? ? case"星期五":

? ? ? ? alert("餃子");

? ? ? ? break;

? ? ? ? case"星期六":

? ? ? ? alert("油條");

? ? ? ? break;

? ? ? ? else:

? ? ? ? alert("不管飯制妄,自己解決");

? ? ? ? break;

? ? ? ? }

? ? ? ? switch .....case直落形式

? ? ? ? 意思就是:不管是哪種情況都做相同的事

? ? ? ? ? switch(){

? ? ? ? case 情況1:

? ? ? ? case 情況1:

? ? ? ? case 情況1:

? ? ? ? case 情況1:

? ? ? ? case 情況1:

? ? ? ? ? ? ? ? 要執(zhí)行的語句

? ? ? ? ? ? break;

? ? ? ? ? }

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末掸绞,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子耕捞,更是在濱河造成了極大的恐慌衔掸,老刑警劉巖,帶你破解...
    沈念sama閱讀 210,978評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件俺抽,死亡現(xiàn)場離奇詭異敞映,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)磷斧,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,954評論 2 384
  • 文/潘曉璐 我一進(jìn)店門振愿,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人瞳抓,你說我怎么就攤上這事埃疫。” “怎么了孩哑?”我有些...
    開封第一講書人閱讀 156,623評論 0 345
  • 文/不壞的土叔 我叫張陵栓霜,是天一觀的道長。 經(jīng)常有香客問我横蜒,道長胳蛮,這世上最難降的妖魔是什么销凑? 我笑而不...
    開封第一講書人閱讀 56,324評論 1 282
  • 正文 為了忘掉前任,我火速辦了婚禮仅炊,結(jié)果婚禮上斗幼,老公的妹妹穿的比我還像新娘。我一直安慰自己抚垄,他們只是感情好蜕窿,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,390評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著呆馁,像睡著了一般桐经。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上浙滤,一...
    開封第一講書人閱讀 49,741評論 1 289
  • 那天阴挣,我揣著相機(jī)與錄音,去河邊找鬼纺腊。 笑死畔咧,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的揖膜。 我是一名探鬼主播誓沸,決...
    沈念sama閱讀 38,892評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼次氨!你這毒婦竟也來了蔽介?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,655評論 0 266
  • 序言:老撾萬榮一對情侶失蹤煮寡,失蹤者是張志新(化名)和其女友劉穎虹蓄,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體幸撕,經(jīng)...
    沈念sama閱讀 44,104評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡薇组,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了坐儿。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片律胀。...
    茶點(diǎn)故事閱讀 38,569評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖貌矿,靈堂內(nèi)的尸體忽然破棺而出炭菌,到底是詐尸還是另有隱情,我是刑警寧澤逛漫,帶...
    沈念sama閱讀 34,254評論 4 328
  • 正文 年R本政府宣布黑低,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏克握。R本人自食惡果不足惜蕾管,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,834評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望菩暗。 院中可真熱鬧掰曾,春花似錦、人聲如沸停团。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,725評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽客蹋。三九已至塞蹭,卻和暖如春孽江,著一層夾襖步出監(jiān)牢的瞬間讶坯,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,950評論 1 264
  • 我被黑心中介騙來泰國打工岗屏, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留辆琅,地道東北人。 一個月前我還...
    沈念sama閱讀 46,260評論 2 360
  • 正文 我出身青樓这刷,卻偏偏與公主長得像婉烟,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子暇屋,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,446評論 2 348