day5--js基礎(chǔ)

<!DOCTYPE html>
<html>
<head>
<title>JS基礎(chǔ)</title>

<!-- 2.內(nèi)部 -->
<script type="text/javascript">
    // 在這兒寫js代碼
    // alert('你好嗎')  //彈出一個提示框
</script>

<!-- 3.外部 -->
<!-- 通過script標簽的src屬性來導入對應(yīng)的js文件 -->
<script type="text/javascript" src="04-分之結(jié)構(gòu).js"></script>

</head>
<body>

<p id="p1">你好</p>
<p id="p2">hello</p>


<!-- 1.內(nèi)聯(lián) -->
<!-- onclick屬性后寫js代碼 -->
<button onclick="document.getElementById('p1').innerHTML='Hello JS'">點我一下</button>


<script type="text/javascript">
    // 在這兒寫js代碼
    // alert('你好嗎')  //彈出一個提示框
    document.write('hi');
    document.getElementById('p2').innerHTML='我最棒';

</script>

</body>

</html>

// 1.語句
// a.js語法上山卦,一條語句結(jié)束可以寫分號也可以不寫分號墅茉;但是根據(jù)習慣需要在每條的語句的后面添加分號场刑。
// 如果一行要寫多條語句,那么每條語句之間必須寫分號!
// b.js中沒有縮進的規(guī)范担映,但是在實際開發(fā)的時候還是要按照python的要求去規(guī)劃縮進

// 2.注釋
// a. 單行注釋就是'//注釋內(nèi)容'
// b. 多行注釋:'/注釋內(nèi)容/'

// 3.標識符:用來給變量和函數(shù)命名的....
// a.由字母數(shù)字和下劃線以及美元符號()組成,并且數(shù)字不能開頭(硬性要求) // b.不能是關(guān)鍵字(硬性要求) // c.下劃線和不開頭
// d.見名知義

// 4.字面量(具體的值)
// a.數(shù)字:12, 12.3, 12e2
// b.字符串:'abc12' "231hj"
// c.數(shù)組:[1,2,3,4,'a','b']
// d.對象:{'a':1, 'c':32}
// e.布爾:true,false
// f.特殊值:null, undefined

// 1.變量:用來存儲數(shù)據(jù)
/*
a.變量的聲明:
格式: var 變量名; 或者 var 變量名 = 初值
var: js中聲明變量的關(guān)鍵字
變量名: 標識符术幔,駝峰式命名(除了第一個單詞首字母小寫另萤,其他單詞的首字母大寫,例如:userName,peopleNumber)
初值: 字面量(表達式)

說明:js中聲明變量的時候不用聲明變量的類型。同一個變量可以存儲不同類型的值
*/

// 聲明變量:就是在內(nèi)存中開辟空間存儲數(shù)據(jù);
// 變量賦值的時候:數(shù)字四敞、字符串和布爾數(shù)據(jù)存的是值泛源。數(shù)組和對象存的是地址

// 1.聲明的時候可以給變量賦值,也可以不賦值
// 聲明一個變量 num
var num = 20;
// 給num變量賦值
num = 10;
num = 'abc';
// 在控制臺打印num的值(console.log相當于python的print)
console.log(num);

// 2.同時聲明多個變量
var num1, num2 = true, num3;
console.log(num2);

var arr = [1, 2, 3, 4]
console.log(arr)

// 2.基本數(shù)據(jù)類型
// typeof 表達式; 查看表達式結(jié)果的數(shù)據(jù)類型
/*
JS中的基本數(shù)據(jù)類型有: Number(數(shù)字)忿危、String(字符串)达箍、Boolean(布爾)、Array(數(shù)組)铺厨、Object(對象)缎玫、null(清空變量的內(nèi)容)、undefined(定義的變量沒有賦值)

Number:a.包含所有的數(shù)字(整數(shù)解滓、浮點數(shù)赃磨、科學計數(shù), NaN->不合法的數(shù)字) -- 數(shù)字類型只有一種,值類型
b.Number() --> 可括號中的數(shù)據(jù)轉(zhuǎn)換成Number類型洼裤。
將字符串轉(zhuǎn)換成數(shù)字的時候邻辉,只有去掉字符串的引號后剩下的部分是一個數(shù)字的字符串才能轉(zhuǎn)換成合法數(shù)字,否則結(jié)果是NaN
布爾true會轉(zhuǎn)換成1腮鞍,false轉(zhuǎn)換成0

*/

var num1 = 10
console.log(typeof num1)

var num2 = 2e3
num2 = Number(true)
console.log(num2)

// ================================
/*
String: ---> 值類型
a.可以使用單引號或者雙引號引起來的字符集值骇,就是字符串數(shù)據(jù):'abc',"12gh"....
b.JS中也可以使用轉(zhuǎn)義字符來表示有特殊功能和特殊意義的字符: \ ,' 移国," 吱瘩, \t ,\n等
c.JS字符也是Unicode字符
d.通過下標獲取某個字符:下標范圍是0~字符串長度-1.
注意:js中下標不能是負數(shù);也不可以切片

e.通過 new String()去創(chuàng)建一個Object類型的字符串迹缀。
*/

var str1 = 'a"bc';
var str2 = "abc"d21";
var str3 = 'a'bc';
var str4 = 'abc\nhujn';
console.log(str4);

// 通過下標獲取字符
console.log(str4[0]);

// 獲取字符串的長度
console.log(str4.length);

// 創(chuàng)建一個對象類型的字符串123abc
var str5 = new String('123abc');

console.log(str1.charAt(0), typeof str1);
console.log(str5.charAt(0), typeof str5);

// ================================================
// Boolean: true使碾,false
// 1.數(shù)字轉(zhuǎn)換成Boolean值,0和NaN會轉(zhuǎn)換成false,其他數(shù)字會轉(zhuǎn)換成true
// 2.字符串轉(zhuǎn)換成Boolean值祝懂,空串是false,其他的都會轉(zhuǎn)換成true
// 3.null,undefined都會轉(zhuǎn)換成false
var b1 = Boolean(undefined)
console.log(b1)

// ================================================
// Array: 數(shù)組類型就是python中的列表
// 1.存數(shù)組數(shù)據(jù)存的是地址
// 2.數(shù)組的元素可以是任何類型的數(shù)據(jù)部逮,可以通過下標去獲取對應(yīng)的元素
// 3.下標的范圍:0~長度-1
// 4.通過length可以獲取數(shù)組元素的個數(shù)

var a1 = [1,2,3,'acd',true];
console.log(a1);
console.log(a1[2]);
console.log(a1.length);

// 添加元素
// push:在數(shù)組的最后添加一個或者多個元素,返回最新的數(shù)組的長度
a1.push(10);
count = a1.push('a','abab');
console.log(a1, count);

// 刪除元素
// pop:將數(shù)組中的最后一個元素刪除嫂易,并且返回被刪除的元素
del = a1.pop();
console.log(a1, del);

// 切片
// slice(起始下標,結(jié)束下標):從數(shù)組的起始下標開始,到結(jié)束下標前的所有元素掐禁,作為一個新的數(shù)組的元素并且返回
newArray = a1.slice(0,3);
console.log(newArray);

// 刪除指定下標的元素
// splice(下標怜械,個數(shù)): 從指定下標開始刪除指定個數(shù)元素
var a2 = [1,2,3,4,5];
a2.splice(1,2);
console.log(a2);

// 在指定位置添加元素
// splice(下標,0,元素1,元素2,元素3...):在指定的下標前插入指定的一個或者多個元素
var a3 = [1,2,3,4,5];
a3.splice(2,0,'a','b');
console.log(a3);

// 在數(shù)組的開頭添加一個或者多個元素
a3.unshift('a','b');
console.log(a3);

// 修改元素
a2[0] = 100;
console.log(a2);

// ========================對象========================
// Object: 對象類型就是python中的字典
// 變量存儲對象,存的是對象的地址
// 存的時候以鍵值對的形式去存儲數(shù)據(jù)傅事,這個鍵可以看成對象的屬性

// 創(chuàng)建了一個變量缕允,存的是一個對象的地址
var obj1 = {'a':1, 'b':2, 'c':'abc'};

// 取值: 通過key去取值
console.log(obj1['a']);
// 取值:通過點語法獲取屬性的值
console.log(obj1.c);

// 修改
obj1['a'] = 100;
obj1.c = '你好';
console.log(obj1);

// 增加: 給不存在的key或者屬性去賦值
obj1['d'] = 1001;
console.log(obj1);
obj1.e = 'aaaa';
console.log(obj1);

// 刪除指定的鍵值對/屬性
delete obj1.b;
delete obj1['a'];
console.log(obj1);

// 聲明對象的時候,屬性名可以不用加引號
var obj2 = {name:'yuting', age:18, sex:'女'};
console.log(obj2['name']);
console.log(obj2.name);

// 算術(shù)運算符蹭越、比較運算符障本、邏輯運算符、賦值運算符
// 1.算術(shù)運算符(+,-,,/, %, ++, --)
// +,-驾霜,
案训,/,%和python中的是一樣的

// a. 任何數(shù)據(jù)和字符串相加,結(jié)果都是字符串拼接的操作
var str1 = 'aaa'+[1,2,3,4];
console.log(str1);

// b.兩個數(shù)組相加粪糙,并不是數(shù)組元素的拼接强霎。而是將數(shù)組轉(zhuǎn)換成字符串,然后拼接成一個新的字符串
var arr1 = [1,2,3] + [4,5,6];
console.log([1,2,3])
console.log(arr1);

// c.操作只能作用于兩個數(shù)字類型
var str2 = 'abc'
2;
console.log(str2);

// e.++:自加1操作
var num1 = 10;
var num11 = 10;
num1++; //相當于: num1 += 1, num1 = num1+1
++num11
console.log(num1, num11);

// f.--:自減1操作
var num2 = 10;
num2--;
console.log(num2);

// 坑
var num3 = 10;
var num33 = 10
var num4 = num3++; // var num4 = num3; num3 += 1;
var num5 = ++num33; // num33 += 1; var num5 = num33;
console.log(num4, num5);

// 2.比較運算符:>, <, >=, <=, == , !=, ===, !==
// ==和===的區(qū)別:
// ==是只要兩個數(shù)據(jù)的值相等蓉冈,結(jié)果就是true,否則是false
// ===是只有兩個數(shù)據(jù)的值相等城舞,并且數(shù)據(jù)類型也相等的時候,結(jié)果才是true寞酿,否則是false

console.log(5==5) //true
console.log(5=='5') //true

console.log(5===5) //true
console.log(5==='5') //false

console.log(5!=5) //false
console.log(5!='5') //false

console.log(5!==5) //false
console.log(5!=='5') //true

console.log(5 >='5') //判斷等的是判斷值是否相等

console.log(12 > '16') //字符串和數(shù)字之間比較大小家夺,會把字符串轉(zhuǎn)換成數(shù)字

// 注意:比較大小的時候,一般數(shù)字就和數(shù)字進行比較伐弹;字符串和字符串進行比較

// 3.邏輯運算符:&&(與)拉馋,||(或),!(非)
console.log(true && true,true && false,false && false); //true false false
console.log(true || true,true || false,false || false); //true, true, false
console.log(!true, !false); //false, true

// 4.賦值運算符: =, +=, -=, =掸茅, /=, %=
// 注意:賦值符號的左邊是變量
// js中的分之結(jié)構(gòu)有:if語句和switch語句兩種
/

1.if語句
python:
if 條件:
語句塊1
elif 條件:
語句塊2
else:
語句塊3

js:
if(條件){
語句塊1
}
else if(條件){
語句塊2
}
else{
語句塊3
}

*/
// 寫一個程序判斷成績的等級:80-100優(yōu)秀椅邓,60-80:中等,60以下:不及格
// 不能連續(xù)判斷:x<=a<=y 只能寫成:a>=x && a<=y
var score = -55
if (score>=80 && score<=100) {
console.log('優(yōu)秀');

}else if(score>=60 && score<80){
console.log('中等');

}else if (score>=0 && score<60) {
console.log('不及格')

}else{
console.log('error');
}

// 2.switch語句
/*
switch(表達式){
case 值1:
語句塊1;
case 值2:
語句塊2;
...
defult:
語句塊3;
}

執(zhí)行過程: a.從第一個case語句后的值開始和表達式的值進行判斷昧狮,
如果相等景馁,那么就將那個case作為入口,依次執(zhí)行后面所有的語句塊直到遇到break或者全部執(zhí)行完為止逗鸣。
b.如果所有的case后面的值合住,都和表達式的值不相等,那么就會去執(zhí)行default后面的語句塊撒璧。
c.case后面的值不能一樣

*/
var a = 100;
switch(a){
case 10:
console.log('10');
case 1:
console.log('1');
case 2:
console.log('2');
break;
case 11:
console.log('11');
case 12:
console.log('12');
default:
console.log('13');
}

// 輸入一個數(shù)字(1-7),根據(jù)數(shù)據(jù)打印結(jié)構(gòu)為(周一~周天)
var num1 = 4
switch(num1){
case 1:
console.log('周一');
break;
case 2:
console.log('周二');
break;
case 3:
console.log('周三');
break;
case 4:
console.log('周四');
break;
case 5:
console.log('周五');
break;
case 6:
console.log('周六');
break;
case 7:
console.log('周天');
break;
default:
console.log('錯誤');

}

// 要求透葛,num2的值是1,2卿樱,3僚害,4,5的時候打印’不及格‘繁调,6萨蚕,7,8打印中等蹄胰,9岳遥,10打印優(yōu)秀。
var num2 = 4;
switch (num2){
case 1:
case 2:
case 3:
case 4:
case 5:
console.log('不及格');
break;
case 6:
case 7:
case 8:
console.log('中等');
break;
case 9:
case 10:
console.log('優(yōu)秀');
break;
default:
console.log('成績有誤');
break;

}

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末裕寨,一起剝皮案震驚了整個濱河市浩蓉,隨后出現(xiàn)的幾起案子派继,更是在濱河造成了極大的恐慌,老刑警劉巖捻艳,帶你破解...
    沈念sama閱讀 206,311評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件驾窟,死亡現(xiàn)場離奇詭異,居然都是意外死亡讯泣,警方通過查閱死者的電腦和手機纫普,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來好渠,“玉大人昨稼,你說我怎么就攤上這事∪” “怎么了假栓?”我有些...
    開封第一講書人閱讀 152,671評論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長霍掺。 經(jīng)常有香客問我匾荆,道長,這世上最難降的妖魔是什么杆烁? 我笑而不...
    開封第一講書人閱讀 55,252評論 1 279
  • 正文 為了忘掉前任牙丽,我火速辦了婚禮,結(jié)果婚禮上兔魂,老公的妹妹穿的比我還像新娘烤芦。我一直安慰自己,他們只是感情好析校,可當我...
    茶點故事閱讀 64,253評論 5 371
  • 文/花漫 我一把揭開白布构罗。 她就那樣靜靜地躺著,像睡著了一般智玻。 火紅的嫁衣襯著肌膚如雪遂唧。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,031評論 1 285
  • 那天吊奢,我揣著相機與錄音盖彭,去河邊找鬼。 笑死页滚,一個胖子當著我的面吹牛谬泌,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播逻谦,決...
    沈念sama閱讀 38,340評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼陪蜻!你這毒婦竟也來了邦马?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,973評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎滋将,沒想到半個月后邻悬,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,466評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡随闽,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,937評論 2 323
  • 正文 我和宋清朗相戀三年父丰,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片掘宪。...
    茶點故事閱讀 38,039評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡蛾扇,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出魏滚,到底是詐尸還是另有隱情镀首,我是刑警寧澤,帶...
    沈念sama閱讀 33,701評論 4 323
  • 正文 年R本政府宣布鼠次,位于F島的核電站更哄,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏腥寇。R本人自食惡果不足惜成翩,卻給世界環(huán)境...
    茶點故事閱讀 39,254評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望赦役。 院中可真熱鬧麻敌,春花似錦、人聲如沸扩劝。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,259評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽棒呛。三九已至聂示,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間簇秒,已是汗流浹背鱼喉。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留趋观,地道東北人扛禽。 一個月前我還...
    沈念sama閱讀 45,497評論 2 354
  • 正文 我出身青樓,卻偏偏與公主長得像皱坛,于是被迫代替她去往敵國和親编曼。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,786評論 2 345

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

  • --- 學習目標: - 掌握編程的基本思維 - 掌握編程的基本語法 typora-copy-images-to: ...
    YFBigHeart閱讀 1,046評論 0 2
  • 第2章 基本語法 2.1 概述 基本句法和變量 語句 JavaScript程序的執(zhí)行單位為行(line)剩辟,也就是一...
    悟名先生閱讀 4,118評論 0 13
  • js基礎(chǔ) 1.js基礎(chǔ)語法 1.注釋// 單行注釋/*多行注釋多行注釋*/ 2.標識符標識符就是用來命名的(給變量...
    麻瓜_1fb4閱讀 251評論 0 1
  • 01.js基礎(chǔ)語法 02.變量的聲明 03.運算符 04.分之結(jié)構(gòu) 05.循環(huán)結(jié)構(gòu) 06.函數(shù) 07.數(shù)據(jù)類型 0...
    zhazhaK丶閱讀 447評論 0 1
  • 概要 64學時 3.5學分 章節(jié)安排 電子商務(wù)網(wǎng)站概況 HTML5+CSS3 JavaScript Node 電子...
    阿啊阿吖丁閱讀 9,095評論 0 3