javascript
JavaScript基础07-day09【嵌套for循环、break和continue、对象、数据类型、对象字面量、函数】
學習地址:
JavaScript基礎、高級學習筆記匯總表【尚硅谷最新版JavaScript基礎全套教程完整版(140集實戰(zhàn)教學,JS從入門到精通)】
目? ?錄
P41?41.尚硅谷_JS基礎_嵌套的for循環(huán)?18:50
P42?42.尚硅谷_JS基礎_練習?05:47
P43?43.尚硅谷_JS基礎_for循環(huán)練習?18:37
嵌套循環(huán)練習1:打印九九乘法表
嵌套循環(huán)練習2:打印出1-100之間所有的質(zhì)數(shù)
P44?44.尚硅谷_JS基礎_break和continue?28:00
break關(guān)鍵字
label: 循環(huán)語句
continue關(guān)鍵字
計時器:console.time()、console.timeEnd()
P45?45.尚硅谷_JS基礎_質(zhì)數(shù)練習的改進?08:38
P46?46.尚硅谷_JS基礎_對象的簡介?11:51
P47?47.尚硅谷_JS基礎_對象的基本操作?13:10
1、創(chuàng)建空對象【var obj = new Object(); // 構(gòu)造方法】
2、向?qū)ο筇砑訉傩浴菊Z法:對象.屬性名 = 屬性值;】
3、讀取對象中的屬性【語法:對象.屬性名】
4、修改對象的屬性值【語法:對象.屬性名 = 新值;】
5、刪除對象的屬性【語法:delete 對象.屬性名;】
P48?48.尚硅谷_JS基礎_屬性名和屬性值?16:34
屬性名
向?qū)ο笾刑砑訉傩?/p>
特殊的屬性名【語法:對象["屬性名"] = 屬性值】
屬性值
in 運算符:檢查一個對象中是否含有指定的屬性。
P49?49.尚硅谷_JS基礎_基本數(shù)據(jù)類型和引用數(shù)據(jù)類型?26:38
P50?50.尚硅谷_JS基礎_對象字面量?08:20
P51?51.尚硅谷_JS基礎_函數(shù)的簡介?23:02
函數(shù)簡介
給函數(shù)添加屬性
函數(shù)創(chuàng)建方式1:字符串封裝代碼創(chuàng)建函數(shù)
函數(shù)創(chuàng)建方式2:函數(shù)聲明
函數(shù)創(chuàng)建方式3:函數(shù)表達式
P52?52.尚硅谷_JS基礎_函數(shù)的參數(shù)?11:35
P41?41.尚硅谷_JS基礎_嵌套的for循環(huán)?18:50
/*
?? ?通過程序,在頁面中輸出如下的圖形:
?? ?* ? ? ?1 ? <1 ? i=0
?? ?** ? ? 2 ? <2 ? i=1
?? ?*** ? ?3 ? <3 ? i=2
?? ?**** ? 4 ? <4 ? i=3
?? ?***** ?5 ? <5 ? i=4
?? ?
?? ?*****
?? ?*****
?? ?*****
?? ?*****
?? ?*****
?? ?
?? ?***** 1 ? j<5(5-0) ?i=0
?? ?**** ?2?? ? ?j<4(5-1) ?i=1
?? ?*** ? 3 ? j<3(5-2) ?i=2
?? ?** ? ?4 ? j<2(5-3) ?i=3
?? ?* ? ? 5 ? j<1(5-4) ?i=4
?*/
P42?42.尚硅谷_JS基礎_練習?05:47
P43?43.尚硅谷_JS基礎_for循環(huán)練習?18:37
嵌套循環(huán)練習1:打印九九乘法表
?* 1.打印99乘法表
?* ?? ? 1*1=1
?* ?? ? 1*2=2 2*2=4
?* ?? ? 1*3=3 2*3=6 3*3=9
?* ?? ? 1*4=4 2*4=8 3*4=12 4*4=16?? ?
?* ?? ??? ??? ??? ??? ??? ?....9*9=81
<span></span>用來對齊元素。
<!DOCTYPE html> <html><head><meta charset="UTF-8"><title></title><script type="text/javascript">for (var i = 1; i <= 9; i++) { //創(chuàng)建外層循環(huán),用來控制乘法表的高度for (var j = 1; j <= i; j++) { //創(chuàng)建一個內(nèi)層循環(huán)來控制圖形的寬度document.write("<span>" + j + "*" + i + "=" + i * j + "</span>");}document.write("<br />"); //輸出一個換行}</script><style type="text/css">body {width: 2000px;background-color: #87CEEB;}span {display: inline-block; /*轉(zhuǎn)為行內(nèi)元素*/width: 80px; /*span是塊元素*/background-color: #FCD410;}</style></head><body></body> </html>嵌套循環(huán)練習2:打印出1-100之間所有的質(zhì)數(shù)
<!DOCTYPE html> <html><head><meta charset="UTF-8"><title></title><script type="text/javascript">//打印2-100之間所有的數(shù)for (var i = 2; i <= 100; i++) {//創(chuàng)建一個布爾值,用來保存結(jié)果,默認i是質(zhì)數(shù)var flag = true;//判斷i是否是質(zhì)數(shù)//獲取到2-i之間的所有的數(shù)for (var j = 2; j < i; j++) {//判斷i是否能被j整除if (i % j == 0) {//如果進入判斷則證明i不是質(zhì)數(shù),修改flag值為falseflag = false;}}//如果是質(zhì)數(shù),則打印i的值if (flag) {console.log(i);}}</script></head><body></body> </html>P44?44.尚硅谷_JS基礎_break和continue?28:00
break關(guān)鍵字
break關(guān)鍵字,可以用來退出switch或循環(huán)語句,不能在if語句中使用break和continue。
break關(guān)鍵字,會立即終止離它最近的那個循環(huán)語句。
label: 循環(huán)語句
可以為循環(huán)語句創(chuàng)建一個label,來標識當前的循環(huán)。
label: 循環(huán)語句
使用break語句時,可以在break后跟著一個label,這樣break將會結(jié)束指定的循環(huán),而不是最近的。
??
continue關(guān)鍵字
continue關(guān)鍵字可以用來跳過當次循環(huán),同樣continue也是默認只會對離它最近的循環(huán)循環(huán)起作用。
?
計時器:console.time()、console.timeEnd()
P45?45.尚硅谷_JS基礎_質(zhì)數(shù)練習的改進?08:38
19 / 2 = 9.5,10之后的數(shù)字與誰乘都不可能得19了,9.5之后的值沒必要再去檢查。
除了2,所有的質(zhì)數(shù)都是奇數(shù)。質(zhì)數(shù):prime number。
<!DOCTYPE html> <html><head><meta charset="UTF-8"><title></title><script type="text/javascript">//測試如下的程序的性能//在程序執(zhí)行前,開啟計時器//console.time("計時器的名字") // 可以用來開啟一個計時器//它需要一個字符串作為參數(shù),這個字符串將會作為計時器的標識console.time("test");//打印2-100之間所有的數(shù)for (var i = 2; i <= 100000; i++) {var flag = true;for (var j = 2; j <= Math.sqrt(i); j++) {if (i % j == 0) {//如果進入判斷則證明i不是質(zhì)數(shù),修改flag值為falseflag = false;//一旦進入判斷,則證明i不可能是質(zhì)數(shù)了,此時循環(huán)再執(zhí)行已經(jīng)沒有任何意義了//使用break來結(jié)束循環(huán)break;//不加break 215ms//加break 25ms//修改j<=后 2.6}}//如果是質(zhì)數(shù),則打印i的值if (flag) {//console.log(i);}}//終止計時器//console.timeEnd()用來停止一個計時器,需要一個計時器的名字作為參數(shù)console.timeEnd("test");/** 36* 1 36* 2 18* 3 12* 4 9* 6 6*///可以通過Math.sqrt()對一個數(shù)進行開方var result = Math.sqrt(97);console.log("result = " + result)</script></head><body></body> </html>P46?46.尚硅谷_JS基礎_對象的簡介?11:51
JavaScript中的數(shù)據(jù)類型(6種):
1、String 字符串
2、Number 數(shù)值
3、Boolean 布爾值
4、Null 空值
5、Undefined 未定義
? ?- 以上這五種類型屬于基本數(shù)據(jù)類型,以后我們看到的值,只要不是上邊的5種,全都是對象。
6、Object 對象(引用數(shù)據(jù)類型)
基本數(shù)據(jù)類型都是單一的值"hello"、123、true,值和值之間沒有任何的聯(lián)系。
在JS中來表示一個人的信息(name gender age):
?* ?? ?var name = "孫悟空";
?* ?? ?var gender = "男";
?* ?? ?var age = 18;
如果使用基本數(shù)據(jù)類型的數(shù)據(jù),我們所創(chuàng)建的變量都是獨立,不能成為一個整體。
對象屬于一種復合的數(shù)據(jù)類型,在對象中可以保存多個不同數(shù)據(jù)類型的屬性。
對象的分類:
P47?47.尚硅谷_JS基礎_對象的基本操作?13:10
1、創(chuàng)建空對象【var obj = new Object(); // 構(gòu)造方法】
??
2、向?qū)ο筇砑訉傩浴菊Z法:對象.屬性名 = 屬性值;】
?
3、讀取對象中的屬性【語法:對象.屬性名】
4、修改對象的屬性值【語法:對象.屬性名 = 新值;】
5、刪除對象的屬性【語法:delete 對象.屬性名;】
P48?48.尚硅谷_JS基礎_屬性名和屬性值?16:34
屬性名
向?qū)ο笾刑砑訉傩?/span>
屬性名:對象的屬性名不強制要求遵守標識符的規(guī)范,什么亂七八糟的名字都可以使用,但是我們使用是還是盡量按照標識符的規(guī)范去做。
特殊的屬性名【語法:對象["屬性名"] = 屬性值】
如果要使用特殊的屬性名,不能采用.的方式來操作,需要使用另一種方式:語法:對象["屬性名"] = 屬性值。
讀取時也需要采用這種方式,使用[]這種形式去操作屬性,更加的靈活,在[]中可以直接傳遞一個變量,這樣變量值是多少就會讀取那個屬性。
??
屬性值
屬性值:JS對象的屬性值,可以是任意的數(shù)據(jù)類型,甚至也可以是一個對象。
in 運算符:檢查一個對象中是否含有指定的屬性。
in運算符:通過該運算符可以檢查一個對象中是否含有指定的屬性,如果有則返回true,沒有則返回false。
語法:"屬性名" in 對象
P49?49.尚硅谷_JS基礎_基本數(shù)據(jù)類型和引用數(shù)據(jù)類型?26:38
- 基本數(shù)據(jù)類型:String Number Boolean Null Undefined
- 引用數(shù)據(jù)類型:Object
- JS中的變量都是保存到棧內(nèi)存中的,基本數(shù)據(jù)類型的值直接在棧內(nèi)存中存儲,值與值之間是獨立存在,修改一個變量不會影響其他的變量。
- 對象是保存到堆內(nèi)存中的,每創(chuàng)建一個新的對象,就會在堆內(nèi)存中開辟出一個新的空間,而變量保存的是對象的內(nèi)存地址(對象的引用),如果兩個變量保存的是同一個對象引用,當一個通過一個變量修改屬性時,另一個也會受到影響。
?值與值獨立!
??
- 當比較兩個基本數(shù)據(jù)類型的值時,就是比較值。
- 而比較兩個引用數(shù)據(jù)類型時,它是比較的對象的內(nèi)存地址,如果兩個對象是一摸一樣的,但是地址不同,它也會返回false。
??
P50?50.尚硅谷_JS基礎_對象字面量?08:20
使用對象字面量,可以在創(chuàng)建對象時,直接指定對象中的屬性,語法:{屬性名:屬性值,屬性名:屬性值....}。
對象字面量的屬性名可以加引號也可以不加,建議不加,如果要使用一些特殊的名字,則必須加引號。
屬性名和屬性值是一組一組的名值對結(jié)構(gòu),名和值之間使用“:”連接,多個名值對之間使用“,”隔開,如果一個屬性之后沒有其他的屬性了,就不要寫“,”。
??
P51?51.尚硅谷_JS基礎_函數(shù)的簡介?23:02
函數(shù)簡介
函數(shù) function:
??
給函數(shù)添加屬性
函數(shù)創(chuàng)建方式1:字符串封裝代碼創(chuàng)建函數(shù)
函數(shù)創(chuàng)建方式2:函數(shù)聲明
使用 函數(shù)聲明 來創(chuàng)建一個函數(shù):
語法:
function 函數(shù)名([形參1, 形參2...形參N]) { // []表示“可選”
? ?語句...
}
與構(gòu)造函數(shù)方式一樣,函數(shù)聲明的方式更清楚。聲明函數(shù),末尾不用寫“;”。
函數(shù)創(chuàng)建方式3:函數(shù)表達式
使用 函數(shù)表達式 來創(chuàng)建一個函數(shù):創(chuàng)建一個匿名函數(shù),將此匿名函數(shù)賦值給一個變量(賦值語句,最好在末尾寫“;”)。
var 函數(shù)名 ?= function([形參1,形參2...形參N]) {
? ?語句....
}
P52?52.尚硅谷_JS基礎_函數(shù)的參數(shù)?11:35
定義一個用來求兩個數(shù)和的函數(shù)。
可以在函數(shù)的()中來指定一個或多個形參(形式參數(shù)),多個形參之間使用,隔開,聲明形參就相當于在函數(shù)內(nèi)部聲明了對應的變量,但是并不賦值。
總結(jié)
以上是生活随笔為你收集整理的JavaScript基础07-day09【嵌套for循环、break和continue、对象、数据类型、对象字面量、函数】的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JavaScript基础06-day08
- 下一篇: JavaScript基础08-day10