JS學(xué)習(xí)筆記:引入方式,堵塞,調(diào)試,數(shù)據(jù)類型,數(shù)組,對象數(shù)組【詩書畫唱】

JS的三種引入方式:
1.行內(nèi)直接使用
2.內(nèi)嵌式
3.引入外部文件
堵塞:
JS的堵塞,html頁面的內(nèi)容是從上到下執(zhí)行的,如果html的控件沒有加載完畢,你去使用它是獲取不到的,就會(huì)形成js堵塞。
解決方案:
1.將js代碼放在頁面的最下方
2.將代碼放在Window.onload(),頁面加載完畢后執(zhí)行的事件
onload
裝載
英 ['?nl??d]美 ['?nlo?d]
vt.裝載;輸入;裝入(文件)
調(diào)試:
alert("內(nèi)容"):普通彈出框
alert英[??l??t]美[??l??rt]
adj.警覺的; 警惕的; 戒備的; 意識到; 注意到;v.向…報(bào)警; 使警覺; 使警惕; 使戒備; 使意識到; 使認(rèn)識到;n.警戒; 戒備; 警惕; 警報(bào);
prompt("內(nèi)容"):帶有輸入框的彈出框?
prompt英[pr?mpt]美[prɑ?mpt]
adj.立即; 迅速的; 及時(shí)的; 敏捷的; 準(zhǔn)時(shí)的;v.促使; 導(dǎo)致; 激起; 鼓勵(lì),提示,提醒(某人說話); 給(演員)提詞;n.(給演員的) 提詞,提示; 提示符;
document.write("內(nèi)容"):將內(nèi)容輸出到頁面
document英[?d?kjum?nt , ?d?kjument]美[?dɑ?kjum?nt , ?dɑ?kjument]
n.文件; 公文; 文獻(xiàn); 證件; (計(jì)算機(jī)) 文檔;v.記錄,記載(詳情); 用文件證明(或證實(shí));
console.log("內(nèi)容"):一般用于調(diào)試
console英[k?n?s??l , ?k?ns??l]美[k?n?so?l , ?kɑ?nso?l]
v.安慰; 撫慰; 慰藉;n.(機(jī)器、電子設(shè)備等的) 控制臺,操縱臺,儀表板;
[例句]'Never mind, Ned,' he?consoled?me
“沒關(guān)系,內(nèi)德?!彼参课艺f。
數(shù)據(jù)類型:
JavaScript分為6種數(shù)據(jù)類型,5個(gè)基本數(shù)據(jù)類型和1個(gè)復(fù)雜數(shù)據(jù)類型
Java英[?d?ɑ?v?]美[?d?ɑv?]
n.Java 語言(一種計(jì)算機(jī)語言,尤用于創(chuàng)建網(wǎng)站);
script英[skr?pt]美[skr?pt]
n.劇本; 電影劇本; 廣播(或講話等)稿; 筆跡; (一種語言的) 字母系統(tǒng),字母表;v.為電影(或戲劇等)寫劇本;
Number:所有的數(shù)字
String:可以使用雙引號或者是單引號表示的內(nèi)容
Boolean:true,false
Boolean英[?bu?li?n]美[?bu?li?n]
adj.布爾邏輯體系的(分別以1和0代指是和非);
Null:獲取的內(nèi)容為空的時(shí)候?yàn)閚ull
函數(shù):
JS函數(shù)分為自定義函數(shù)和系統(tǒng)函數(shù)。
自定義函數(shù):
帶名的函數(shù)和匿名函數(shù)。
js的函數(shù):
1.形參和實(shí)參的參數(shù)列表是沒有關(guān)系的,可以也可以不寫。
2.返回值可以寫,可以不寫。
函數(shù)語法:
function 方法名(參數(shù)列表){
方法體
}
function英[?f??k?n]美[?f??k?n]
n.作用; 功能; 職能; 機(jī)能; 社交聚會(huì); 典禮; 宴會(huì); 函數(shù);v.起作用; 正常工作; 運(yùn)轉(zhuǎn);
匿名函數(shù)(函數(shù)表達(dá)式):
var s=function(參數(shù)列表){
方法體
}
variable英[?ve?ri?bl]美[?veri?bl]
adj.多變的; 易變的; 變化無常的; 可更改的; 可變的;n.可變情況; 變量; 可變因素;
Undefined:Undefined變量只為聲明時(shí)沒有被賦值的變量,變量為null。(當(dāng)聲明沒有賦值的變量時(shí),值為空,這個(gè)變量就是Undefined變量,即是未闡明的的變量。)
undefined英[??nd??fa?nd]美[??nd??fa?nd]
adj.未闡明的; 未限定的;
undefined
是全局對象的一個(gè)屬性。也就是說,它是全局作用域的一個(gè)變量。undefined
的最初值就是原始數(shù)據(jù)類型undefined
。
一個(gè)沒有被賦值的變量的類型是undefined。如果方法或者是語句中操作的變量沒有被賦值,則會(huì)返回undefined(對于這句話持疑惑態(tài)度,請查看英文原文來理解)。
一個(gè)函數(shù)如果沒有使用return語句指定返回
值,就會(huì)返回一個(gè)undefined值。
Javascript中兩個(gè)等于號和三個(gè)等于號的區(qū)別(==/===)
==//表示值的比較
===//表示對象類型的比較
1、對于string,number等基礎(chǔ)類型,==和===是有區(qū)別的。
a)不同類型間比較,==之比較“轉(zhuǎn)化成同一類型后的值”看“值”是否相等,===如果類型不同,其結(jié)果就是不等。
b)同類型比較,直接進(jìn)行“值”比較,兩者結(jié)果一樣。
alert('1'==1);//結(jié)果是truealert('1'===1);//結(jié)果是false
2、對于Array,Object等高級類型,==和===是沒有區(qū)別的。
進(jìn)行“指針地址”比較。
3、基礎(chǔ)類型與高級類型,==和===是有區(qū)別的。
a)對于==,將高級轉(zhuǎn)化為基礎(chǔ)類型,進(jìn)行“值”比較。
b)因?yàn)轭愋筒煌?==結(jié)果為false。
var a = new String('1');//定義一個(gè)string的高級類型var b = '1';//定一個(gè)基礎(chǔ)類型字符串a(chǎn)lert(b==a);//為truealert(b===a);//為false
// 這里沒有聲明y
if(typeof y === 'undefined') { ? ? ?
// 沒有錯(cuò)誤,執(zhí)行結(jié)果為true ?
console.log("y is " + typeof y ) ?//操作臺打印出的內(nèi)容: y is undefined
}
復(fù)雜數(shù)據(jù)類型:數(shù)組,對象,控件。
typeof:因?yàn)閖avascript是弱類型的語言,在聲明的時(shí)候統(tǒng)一使用var進(jìn)行聲明,并不能確定是什么數(shù)據(jù)類型,就可以使用typeof去判斷其是什么數(shù)據(jù)類型。
isNaN(v):判斷內(nèi)容是不是數(shù)字
document.getElementById(""):id選擇器,用來獲取頁面中的id的元素
數(shù)組聲明的三種方式:
//數(shù)組1
var s=["張三",22,"男"];
//數(shù)組2
var s1=new Array("李四",22,"女");
//數(shù)組3
var s2=new Array(2);
s2[0]="王五";
s2[1]=22;
s2[2]='男';
//遍歷數(shù)組的三種方式
1普通for循環(huán)
for(var i=0;i<s2.length;i++){
alert(s2[i]);
}
2for...in...
for(var i in s2){
alert(s2[i]);
}
3 for...of...
for(var i of s2){
alert(i);
}
array英[??re?]美[??re?]
n.大堆; 大群; 大量; 數(shù)組; 陣列;v.布置; 排列; 配置(兵力);
JS數(shù)組:
1.數(shù)組元素可以是任意類型。
2.數(shù)組聲明時(shí)的長度和賦值的內(nèi)容是沒有關(guān)系的。
第一種,直接創(chuàng)建:
var v={name:"張三",age:22,sex:'男'};
語法:
變量名={屬性名:屬性值,屬性名:屬性值,屬性名:屬性值}
第二種構(gòu)造函數(shù)創(chuàng)建對象:
var v=new Object();
object英[??bd??kt , ?b?d?ekt]美[?ɑ?bd?ekt , ?b?d?ekt]
n.物體; 物品; 東西; (極欲得到、研究、注意等的) 對象; 宗旨; 目的; 目標(biāo);v.不同意; 不贊成; 反對; 提出…作為反對的理由; 抗辯說;
v.name="張三";
v.age=22;
//JS對象在聲明完畢只后也可以增加屬性
,修改屬性直接根據(jù)屬性的鍵修改值即可,刪除屬性使用delete 對象名["屬性名"]
//遍歷對象
遍歷對象的時(shí)候使用for? in? 進(jìn)行遍歷。
for( var i in a){
document.write(a[i]);}
js構(gòu)造方法創(chuàng)建方式:
function(參數(shù)列表){
方法體
}
//構(gòu)造方法:
var diannao=function(name,jiage,yanse){
this.name=name;
this.jiage=jiage;
this.yanse=yanse;
}
對象數(shù)組:
var shuzuaa=[
new diannao("惠普",888,"yellow"),
new diannao("聯(lián)想",999,"green"),
new diannao("華碩",777,"blue")
];
//將每個(gè)電腦的名稱遍歷出來
for(var i of shuzuaa){
alert(i["jiage"]);
}