第四次

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)準(zhǔn)? ECMAScript 作為 JS? ? ? ? javascript的組成:ECMAscript Dom Bomjavascript的語法

1.在標(biāo)簽中寫js代碼,該標(biāo)簽可以放在頁面的任何位置 ? ? ? JS腳本

2.外部腳本文件1)、創(chuàng)建腳本文件并編寫 腳本腳本文件:***.js2)、引入外部腳本文件注意:1、必須是成對的 script2、該對標(biāo)記中,不允許出現(xià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)、注意?

1、聲明變量時可以不加 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 age;var gender;var salary;var userName;var userSalary;var stuJavaScore2)、下劃線命名法var _userName;一般用于全局變量命名var user_name;常量:一旦聲明就不可以改變的值叫做常量? ? ? ? 比如:1天=24小時? 1小時=60分鐘? 太陽每天東升西落?

1.聲明常量的方法:? ? 1)聲明常量用 const,常量名一般大寫,聲明常量必須賦值? ? ? ? const DAY;? ? ? ? ? ? const PI;? ? 2)聲明常量并賦值? ? ? ? const DAY=24;? ? ? ? const PI=3.14;? ? ? ? ? ? ? ? ? ? 數(shù)據(jù)類型:? 數(shù)字:number? ? ? 整數(shù)和小數(shù)? ? var a=5;? ? var b=13.5;var c=0.5;? 字符串:string? ? 只要有引號的都是字符串(單/雙)? ? var str='hello world';? ? var c='123';? ? var d="你好"; 布爾: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? ? ? ? undefined:未定義的?

5.null? 空? ? ?

6.object? 對象? ? ? ? ? ? var a=5;? ? ? ? console.log(a);? ? 聲明一個變量沒賦值會返回一個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;//undefined? ? console.log(typeof(a+b));? ? NaN:not a number? 不是一個數(shù)字? ? NAN是一個numberstring +undefined? ? ? var a='3';? ? var b;//undefined? ? console.log(typeof (a+b));總結(jié):? ? number+string? 拼接? ? number+boolean? boolean轉(zhuǎn)number? ? number+undefined? NAN? ? boolean+boolean? 求和判斷數(shù)據(jù)類型:? ? typeofNaN :not a number? 不是一個數(shù)字 數(shù)據(jù)類型:number isNaN:is not a number? 是? ? 不是一個數(shù)字? ? ? ? 作用:判斷一個非數(shù)字? ? 如果是數(shù)字返回:? 如果不是一個數(shù)字返回:var a=3;var b='5';var c=true;? console.log(isNaN(b));falseconsole.log(isNaN(b));true聲明提前? console.log(a);var a=3;js在執(zhí)行的時候會自動把var提到標(biāo)簽頂部

但是賦值不會被提到頂部

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

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

? ? var a;

? ? console.log(a);

? ? a=3; n

顯示轉(zhuǎn)換/強制轉(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在做相加運算

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

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

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

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

二、顯示轉(zhuǎn)換/強制轉(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);//5

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

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

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

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

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

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

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

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

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

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

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

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

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

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


? ? 10 % 3 = 1

? ? 10.5 % 3 = 1.5

? ? ...

? ? ++,-- 運算符,單目運算符

? ? ++:自增加一

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

var a=5;

var b=++a;

//先把a的值自增+1

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

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

var a=5;

var b=a++;

//先把a的值賦值給b

//再自增加一

? ? --:自減減一

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

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

案例:

? ? var a=3.1415;

var b=a.toFixed(2);

document.write(b);

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

? ? var a;

? ? var b;

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

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

? ? 1、作用

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

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

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

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

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

全等:===

類型相同 數(shù)值相同

不全等:!==

3、邏輯運算符

1、作用

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

2、語法

1、邏輯? ? 非

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

語法:!

2、邏輯? ? 與

有兩個條件,兩條件同時為真時,表達(dá)式才為真。

語法:&&

3、邏輯? ? 或

有兩個條件,只要有一個為真,表達(dá)式就為真

語法:||

3、運算結(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

? ? ? ? ? ? 4.條件運算符(三目運算符)

? ? 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("不及格");

}

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

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

? ? ? 1.

? ? ? if(條件){

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

? ? ? }

? ? ? ? ? 2.

? ? ? ? ? if(條件){

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

? ? ? ? ? }else{

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

? ? ? ? ? }

? 3.多重條件語句

? if(條件){


? }else if(){


? }

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

? ? ? ? ? ? switch(表達(dá)式/變量){

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)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 第2章 基本語法 2.1 概述 基本句法和變量 語句 JavaScript程序的執(zhí)行單位為行(line),也就是一...
    悟名先生閱讀 4,619評論 0 13
  • 前言 最先接觸編程的知識是在大學(xué)里面,大學(xué)里面學(xué)了一些基礎(chǔ)的知識,c語言,java語言,單片機的匯編語言等;大學(xué)畢...
    oceanfive閱讀 3,416評論 0 7
  • 數(shù)據(jù)類型 1、數(shù)字(number) 2、字符串(String) 3、布爾值(Boolean) 4、未定義(unde...
    無言更動人閱讀 144評論 0 0
  • 最近聽了《最重要的事,只有一件》,反思自己,感受頗深,我就是抓不住重點,很多精力被浪費了,最重要的事情只有一件,...
    以纏證道閱讀 562評論 1 2
  • 小人求全,君子求缺, 不要追求十全十美,一旦有了十全十美就是人生悲劇的開始,不要什么都想要,只要上天賜予給你的就足...
    申帥閱讀 256評論 0 0

友情鏈接更多精彩內(nèi)容