函數(shù)霹购,循環(huán)佑惠,數(shù)組,字符串

變量和函數(shù)預(yù)解析:只把變量a的聲明提前齐疙,賦值不提前膜楷,所以彈出undefined,表示它的定義

流程控制語句贞奋,JS中的程序是從上到下一行一行執(zhí)行的把将,通過流程控制語句可以控制程序流程,使程序可以根據(jù)一定的條件來選擇執(zhí)行

- 語句的分類:

1.條件判斷語句 2.條件分支語句 3.循環(huán)語句

條件判斷語句: 使用條件判斷語句可以在執(zhí)行某個(gè)語句之前進(jìn)行判斷忆矛,

如果條件成立才會(huì)執(zhí)行語句察蹲,條件不成立則語句不執(zhí)行。

- if語句

- 語法一:

if(條件表達(dá)式){語句...}

if語句在執(zhí)行時(shí)催训,會(huì)先對(duì)條件表達(dá)式進(jìn)行求值判斷洽议,

如果條件表達(dá)式的值為true,則執(zhí)行if后的語句漫拭,

如果條件表達(dá)式的值為false亚兄,則不會(huì)執(zhí)行if后的語句。

if語句只能控制緊隨其后的那個(gè)語句,

如果希望if語句可以控制多條語句采驻,

可以將這些語句統(tǒng)一放到代碼塊中

if語句后的代碼塊(即{})不是必須的审胚,但是在開發(fā)中盡量寫上代碼塊,即使if后只有一條語句

- 語法二:

if(條件表達(dá)式){語句...}else{語句...}

if...else...語句

當(dāng)該語句執(zhí)行時(shí)礼旅,會(huì)先對(duì)if后的條件表達(dá)式進(jìn)行求值判斷膳叨,

如果該值為true,則執(zhí)行if后的語句

如果該值為false痘系,則執(zhí)行else后的語句

if語句語法三:if(條件表達(dá)式){語句...}else if(條件表達(dá)式){語句...}else if(條件表達(dá)式){語句...}else{語句...}

if...else if...else

當(dāng)該語句執(zhí)行時(shí)菲嘴,會(huì)從上到下依次對(duì)條件表達(dá)式進(jìn)行求值判斷

如果值為true,則執(zhí)行當(dāng)前語句。

如果值為false龄坪,則繼續(xù)向下判斷昭雌。

如果所有的條件都不滿足,則執(zhí)行最后一個(gè)else后的語句

該語句中健田,只會(huì)有一個(gè)代碼塊被執(zhí)行烛卧,一旦代碼塊執(zhí)行了,則直接結(jié)束語句

條件分支語句也叫switch語句switch(條件表達(dá)式){case?表達(dá)式:語句...break妓局;default? 語句...break唱星;}

執(zhí)行流程:

switch...case..語句

在執(zhí)行時(shí)會(huì)依次將case后的表達(dá)式的值和switch后的條件表達(dá)式的值進(jìn)行全等比較,

如果比較結(jié)果為true跟磨,則從當(dāng)前case處開始執(zhí)行代碼间聊。

當(dāng)前case后的所有的代碼都會(huì)執(zhí)行,我們可以在case的后邊跟著一個(gè)break關(guān)鍵字抵拘,

這樣可以確保只會(huì)執(zhí)行當(dāng)前case后的語句哎榴,而不會(huì)執(zhí)行其他的case

如果比較結(jié)果為false,則繼續(xù)向下比較

如果所有的比較結(jié)果都為false僵蛛,則只執(zhí)行default后的語句

switch語句和if語句的功能實(shí)際上有重復(fù)的尚蝌,使用switch可以實(shí)現(xiàn)if的功能,同樣使用if也可以實(shí)現(xiàn)switch的功能充尉,所以我們使用時(shí)飘言,可以根據(jù)自己的習(xí)慣選擇。

Array.prototype.unique1 = function () {

? ? var n = []; //一個(gè)新的臨時(shí)數(shù)組

? ? for (var i = 0; i < this.length; i++) //遍歷當(dāng)前數(shù)組

? ? {

? ? ? //如果當(dāng)前數(shù)組的第i已經(jīng)保存進(jìn)了臨時(shí)數(shù)組驼侠,那么跳過姿鸿,

? ? ? //否則把當(dāng)前項(xiàng)push到臨時(shí)數(shù)組里面

? ? ? if (n.indexOf(this[i]) == -1) n.push(this[i]);

? ? }

? ? return n;

};

Array.prototype.unique2 = function()

{

? ? var n = {},r=[]; //n為hash表,r為臨時(shí)數(shù)組

? ? for(var i = 0; i < this.length; i++) //遍歷當(dāng)前數(shù)組

? ? {

? ? ? ? if (!n[this[i]]) //如果hash表中沒有當(dāng)前項(xiàng)

? ? ? ? {

? ? ? ? ? ? n[this[i]] = true; //存入hash表

? ? ? ? ? ? r.push(this[i]); //把當(dāng)前數(shù)組的當(dāng)前項(xiàng)push到臨時(shí)數(shù)組里面

? ? ? ? }

? ? }

? ? return r;

};

Array.prototype.unique3 = function()

{

? ? var n = [this[0]]; //結(jié)果數(shù)組

? ? for(var i = 1; i < this.length; i++) //從第二項(xiàng)開始遍歷

? ? {

? ? ? ? //如果當(dāng)前數(shù)組的第i項(xiàng)在當(dāng)前數(shù)組中第一次出現(xiàn)的位置不是i倒源,

? ? ? ? //那么表示第i項(xiàng)是重復(fù)的苛预,忽略掉。否則存入結(jié)果數(shù)組

? ? ? ? if (this.indexOf(this[i]) == i) n.push(this[i]);

? ? }

? ? return n;

};

? Array.prototype.unique4 = function()

{

? ? this.sort();

? ? var re=[this[0]];

? ? for(var i = 1; i < this.length; i++)

? ? {

? ? ? ? if( this[i] !== re[re.length-1])

? ? ? ? {

? ? ? ? ? ? re.push(this[i]);

? ? ? ? }

? ? }

? ? return re;

};

var arr = [1,2,2,2,3,3,4,5];

console.log(arr.unique1()); // [1, 2, 3, 4, 5]

console.log(arr.unique2()); // [1, 2, 3, 4, 5]

console.log(arr.unique3()); // [1, 2, 3, 4, 5]

console.log(arr.unique4()); // [1, 2, 3, 4, 5

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<title>合格</title>

<script type="text/javascript">

var score = +prompt('輸入分?jǐn)?shù)');? <!--prompt是一個(gè)內(nèi)置函數(shù)笋熬,用它可以調(diào)出資料框热某,讓用戶輸入相關(guān)信息-->

switch(parseInt(score/10)){ <!--將score/10的結(jié)果放入switch進(jìn)行判斷,-->

case 10:

case 9:

case 8:

case 7:

case 6:

? alert('合格');

break;

default:

? alert('不合格');

? break;

? }

</script>

</head>

<body>

</body>

</html>

case標(biāo)簽必須是惟一性的表達(dá)式;也就是說胳螟,不允許兩個(gè)case具有相同的值昔馋。

打印1-100之間的和

var num = 0? <!--var num=0;——定義num是一個(gè)變量,且給num賦初值0-->

? ? ? ? for(var i=0;i<100;i++){? ? <!--i++——表示每循環(huán)一次糖耸,i的值就加1秘遏。

整個(gè)for循環(huán)語句最多可以循環(huán)100次-->

? ? ? ? ? ? if(i % 2 != 0){

? ? ? ? ? ? ? ? num+=i

? ? ? ? ? ? }

? ? ? ? }

? ? ? ? alert(num);

打印1-100之間所有7的倍數(shù)的個(gè)數(shù)及總和

? ? var alist = [];<!--聲明一個(gè)空的二維數(shù)組-->

? ? ? ? var num = 0<!--聲明一個(gè)變量,num的默認(rèn)值是0-->

? ? ? ? for (var i = 0;i<100;i++){<!--- int i就定義了這個(gè)i的類型為整型蔬捷,就相當(dāng)于我們的名字前面的姓一樣,? i<100垄提,在這里是int i<100,由于前面定義了i為int,所以省略了int周拐,意思是這個(gè)變量i是小于100的整數(shù)-->

? ? ? ? ? ? if(i % 7==0){ <!--這個(gè)先求余然后判斷是否為0--->

? ? ? ? ? ? ? ? list.push(i? ?

? ? ? ? ? ? ? ? num+=i? ?

? ? ? ? ? ? }

? ? ? ? }

? ? ? ? console.log(alist.length);

? ? ? ? console.log(num);

打印乘法口訣表

var i ,j;

? ? ? ? ? ? for(i=1;i<10;i++){

? ? ? ? ? ? for(j=1;j<=i;j++){

? ? ? ? ? ? document.write(" "+i+"*"+j+"="+i*j+" ");

? ? ? ? ? ? }document.write("<br/>")? <!--打印換行-->

? ? ? ? ? ? }

打印1-100的質(zhì)數(shù)

? var flag=0;

? ? ? ? ? ? for(var j=1;j<101;j++){

? ? ? ? ? ? ? ? for(var i=2;i<j;i++){

? ? ? ? ? ? ? ? ? ? if(j%i==0){

? ? ? ? ? ? ? ? ? ? ? ? flag=1;

? ? ? ? ? ? ? ? ? ? ? ? break;

? ? ? ? ? ? ? ? ? ? }else{

? ? ? ? ? ? ? ? ? ? ? ? flag=0;<!--從循環(huán)開始铡俐,到當(dāng)變量flag = 0時(shí),循環(huán)結(jié)束.-->

? ? ? ? ? ? ? ? ? ? }

? ? ? ? ? ? ? ? }

? ? ? ? ? ? ? ? if(flag==0&&j!=1){

? ? ? ? ? ? ? ? ? ? console.log(j);

? ? ? ? ? ? ? ? }

? ? ? ? ? ? }

除了1和此整數(shù)自身外妥粟,沒法被其他自然數(shù)整除的數(shù)

4.在頁面中接收一個(gè)用戶輸入的數(shù)字审丘,并判斷該數(shù)是否是質(zhì)數(shù)。

質(zhì)數(shù):只能被1和它自身整除的數(shù)勾给,1不是質(zhì)數(shù)也不是合數(shù)滩报,質(zhì)數(shù)必須是大于1的自然數(shù)。

var num = prompt('請(qǐng)輸入一個(gè)大于1的數(shù)字:');

? ? ? if(num<=1||isNaN(num)){

? ? ? ? ? alert('該值不合法播急!')

? ? ? ? ? }else{

? ? ? ? ? ? ? var flag = true;

? ? ? ? ? ? ? for(var i = 2;i<num;i++){

? ? ? ? ? ? ? ? ? if(num % i ==0){

? ? ? ? ? ? ? ? ? ? ? flag = false;

? ? ? ? ? ? ? ? ? }

? ? ? ? ? ? ? }

? ? ? ? ? ? ? if(flag){

? ? ? ? ? ? ? ? ? alert('是質(zhì)數(shù)');

? ? ? ? ? ? ? }

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末脓钾,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子桩警,更是在濱河造成了極大的恐慌可训,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,290評(píng)論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件捶枢,死亡現(xiàn)場(chǎng)離奇詭異握截,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)烂叔,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門谨胞,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人蒜鸡,你說我怎么就攤上這事胯努。” “怎么了逢防?”我有些...
    開封第一講書人閱讀 156,872評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵康聂,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我胞四,道長(zhǎng)恬汁,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,415評(píng)論 1 283
  • 正文 為了忘掉前任辜伟,我火速辦了婚禮氓侧,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘导狡。我一直安慰自己约巷,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,453評(píng)論 6 385
  • 文/花漫 我一把揭開白布旱捧。 她就那樣靜靜地躺著独郎,像睡著了一般踩麦。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上氓癌,一...
    開封第一講書人閱讀 49,784評(píng)論 1 290
  • 那天谓谦,我揣著相機(jī)與錄音,去河邊找鬼贪婉。 笑死反粥,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的疲迂。 我是一名探鬼主播才顿,決...
    沈念sama閱讀 38,927評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼尤蒿!你這毒婦竟也來了郑气?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,691評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤腰池,失蹤者是張志新(化名)和其女友劉穎竣贪,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體巩螃,經(jīng)...
    沈念sama閱讀 44,137評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡演怎,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,472評(píng)論 2 326
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了避乏。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片爷耀。...
    茶點(diǎn)故事閱讀 38,622評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖拍皮,靈堂內(nèi)的尸體忽然破棺而出歹叮,到底是詐尸還是另有隱情,我是刑警寧澤铆帽,帶...
    沈念sama閱讀 34,289評(píng)論 4 329
  • 正文 年R本政府宣布咆耿,位于F島的核電站,受9級(jí)特大地震影響爹橱,放射性物質(zhì)發(fā)生泄漏萨螺。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,887評(píng)論 3 312
  • 文/蒙蒙 一愧驱、第九天 我趴在偏房一處隱蔽的房頂上張望慰技。 院中可真熱鬧,春花似錦组砚、人聲如沸吻商。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽艾帐。三九已至乌叶,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間柒爸,已是汗流浹背准浴。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評(píng)論 1 265
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留揍鸟,地道東北人兄裂。 一個(gè)月前我還...
    沈念sama閱讀 46,316評(píng)論 2 360
  • 正文 我出身青樓句旱,卻偏偏與公主長(zhǎng)得像阳藻,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子谈撒,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,490評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容