基礎(chǔ)語法
? 預(yù)備知識(shí)
? ? 1.語句
? ? ? 通常一行代碼 如果添加了分號(hào)->一條語句
? ? ? 使用姓言;分隔
? ? 2.變量
? ? ? 目的
? ? ? ? 通過一個(gè)名字 來表示一個(gè)可以改變的值
? ? ? 定義方式
? ? ? ? ver 變量名=值邓萨;
? ? ? ? ? var關(guān)鍵字
? ? ? ? 不賦值
? ? ? ? ? var 變量名
? ? ? 關(guān)鍵字
? ? ? ? 什么是關(guān)鍵字
? ? ? ? ? 語言本身提供的名字
? ? ? ? ? 有固定意義
? ? ? ? ? ? var
? ? ? ? ? ? ? 如var 就是定義變量的意思
? ? ? ? 語言本身 提供了很多關(guān)鍵字
? ? ? ? ? var
? ? ? ? ? for
? ? ? ? ? if
? ? ? 變量名
? ? ? ? 開發(fā)者起的一個(gè)名字
? ? ? ? 注意
? ? ? ? ? 1.不能使用關(guān)鍵字 定義變量名
? ? ? ? ? 2.不能以數(shù)字開頭
? ? ? ? ? 3.不能以特殊符號(hào)開頭
? ? ? ? ? 4.定義變量名要有意義
? ? ? ? ? ? 駝峰命名法
? ? ? ? ? ? ? 第一個(gè)首字母小寫其他首字母大寫
? ? ? ? ? ? 下劃線命名法
? ? ? ? 意義
? ? ? ? ? 變量名
? ? ? ? ? ? 開發(fā)者起的一個(gè)名字
? ? ? ? ? ? 外號(hào)
? ? ? ? ? ? 標(biāo)記
? ? ? ? ? 值
? ? ? ? ? ? 具體內(nèi)容
? ? ? ? ? ? ? 數(shù)字
? ? ? ? ? ? ? 文字(字符串)
? ? ? ? ? ? ? 數(shù)組
? ? ? ? ? ? ? 對(duì)象
? ? ? ? ? 由名字 表示 后面的值
? ? ? ? ? ? 子主題 1
? ? 3.注釋
? ? ? 單行注釋
? ? ? ? Ctrl+/
? ? ? 多行注釋
? ? ? ? Ctrl+shift+/
? ? ? 沒實(shí)際意義,不會(huì)去執(zhí)行
只讓開發(fā)者看到
不讓瀏覽器看到锨天,屏蔽了瀏覽器
? ? 4.調(diào)試
? ? ? 按F12(右鍵檢查元素)->console
? 數(shù)據(jù)類型
? ? Number 數(shù)字類型
? ? ? 包含浮點(diǎn)和整數(shù)
? ? String
? ? ? 字符串類型“”或者"包裹的都是字符串
? ? boolean
? ? ? 波爾類型
? ? ? ? true
? ? ? ? ? 對(duì)
? ? ? ? false
? ? ? ? ? 錯(cuò)
? ? Array 數(shù)組
? ? Object 對(duì)象
? ? Function 函數(shù)
? 數(shù)據(jù)類型的轉(zhuǎn)換
? ? 字符串 轉(zhuǎn)數(shù)字
? ? ? 轉(zhuǎn)整數(shù)
? ? ? ? parselnt()
? ? ? 轉(zhuǎn)浮點(diǎn)
? ? ? ? parseFloat()
? ? ? ? ? 如何使用小數(shù)毯盈?
? ? ? ? ? ? 精度丟失
? ? ? ? ? ? ? 不要直接使用小數(shù)
? ? ? ? ? ? ? 非要使用
? ? ? ? ? ? ? ? 1.乘以100(精準(zhǔn)的級(jí)別)倍
? ? ? ? ? ? ? ? 2.運(yùn)算完畢 再還原倍數(shù)
? 運(yùn)算符
? ? 算術(shù)運(yùn)算符
? ? ? +
? ? ? -
? ? ? *
? ? ? /
? ? ? %
? ? 復(fù)合運(yùn)算符
? ? ? +=
? ? ? ? var a =10;
var b = 20;
a =a+ b
? ? ? ? a += b
? ? ? -=
? ? ? ? var a =10;
var b = 20;
a- =a+ b
? ? ? *=
? ? ? /=
? ? ? %=
? ? ? ++
? ? ? ? 自己給自己增加一個(gè)一
? ? ? --
? ? ? ? 自己給自己減少一個(gè)一
? ? ? 自增自減運(yùn)算符
? ? 比較運(yùn)算符
? ? ? 結(jié)果
? ? ? ? 就是一個(gè)Boolean類型的值
? ? ? ? ? true
? ? ? ? ? false
? ? ? >
? ? ? <
? ? ? >=
? ? ? <=
? ? ? ==
? ? ? ? 忽略數(shù)據(jù)類型
? ? ? ? ? 1與“1”認(rèn)為是相同的
? ? ? ===
? ? ? ? 嚴(yán)格查看數(shù)據(jù)類型
? ? ? ? ? 1與“1”認(rèn)為是不相同的
必須類型與值都相同
? ? ? !=(不等于)
? ? ? ? 1 “1”
? ? ? ? ? 假的
? ? ? !==
? ? ? ? 1 “1”
? ? ? ? ? 真的
? ? 邏輯運(yùn)算符
? ? ? 與&& (兩個(gè)and符)
? ? ? ? 所有條件 都必須滿足 才算真的
? ? ? 或||
? ? ? ? 只要有一個(gè)條件滿足 就是真的
? ? ? 非病袄!
? ? ? ? 黑白顛倒
? ? ? ? ? 對(duì)的就是錯(cuò)的 錯(cuò)的就是對(duì)的
? ? ? ? /*
* 表示真的值
* true
* 1
* 有內(nèi)容的字符串“xx”(不是空字符串)
*(存在值的)有值的對(duì)象
*
* */
/*表示假的值
* false
* 0
* null
* undefineded
* NaN
* 空字符串“ ”
* */
? ? 三元運(yùn)算(三目運(yùn)算)
? ? ? 經(jīng)常代替if else語句
? ? ? ? if(睡覺){
做夢(mèng)
}else{
掌握三元運(yùn)算
}
? ? ? 三元運(yùn)算
? ? ? ? 睡覺搂赋?做夢(mèng):掌握三元運(yùn)算
? ? ? ? 條件?滿足執(zhí)行:不滿足執(zhí)行
? ? 必須 數(shù)字與 數(shù)字之間 運(yùn)算
? 輸入內(nèi)容
? ? prompt() 彈窗
? 輸出
? ? console.log(a);//日志
? ? console.warn(a);//警告
? ? console.info(a);//詳細(xì)信息
? 調(diào)試方式
? ? 1.console.log(a);//日志
? ? 2.斷電調(diào)試(至少是半個(gè)大神級(jí)別才會(huì))
? ? ? 在程序中 打點(diǎn) 阻止繼續(xù)執(zhí)行
? ? ? 調(diào)試流程
? ? ? ? 1.先通過經(jīng)驗(yàn) 定位到 大概錯(cuò)誤位置
? ? ? ? 2.打開瀏覽器中的sources
? ? ? ? ?
? ? ? ? 3.點(diǎn)擊要調(diào)試的文件(js)
? ? ? ? ?
? ? ? ? 4.在懷疑有錯(cuò)誤的地方 點(diǎn)個(gè)點(diǎn)(打斷點(diǎn) 在數(shù)字位置)
? ? ? ? ?
? ? ? ? 5.程序重新運(yùn)行會(huì)在斷點(diǎn)位置停止
->鼠標(biāo)移動(dòng)到斷點(diǎn)上面的變量
->就會(huì)顯示變量的值
? ? ? ? ?
? ? ? ? 6.如果繼續(xù)排錯(cuò) 可以打多個(gè)斷點(diǎn)
通過播放鍵 跳到下一個(gè)斷點(diǎn)
通過下一步 執(zhí)行下一步代碼
? ? ? ? ?
? 分支結(jié)構(gòu)
? ? if語句
? ? ? if(條件){
}
? ? ? if(條件){
}else{
}
? ? ? if(){
}else if(){
}else{
}
? ? switch
? ? ? 選擇其中的某一個(gè)點(diǎn)子(case)
? ? ? switch(變量){
case值1:
break益缠;
case值2:
break脑奠;
default:
}
? ? ? break不是強(qiáng)制添加的 如果不添加break 程序會(huì)繼續(xù)走下面的條件
? 循環(huán)結(jié)構(gòu)
? ? 知道循環(huán)次數(shù)
? ? ? for
? ? ? ? for(var i=0;i<5;i++){
循環(huán)體左刽;
}
? ? ? ? for()中的各個(gè)語句的含義
? ? ? ? ? var i=0; 初始化變量
? ? ? ? ? i<5; 循環(huán)的條件
? ? ? ? ? i++捺信;更改變量的值
? ? 不知道循環(huán)次數(shù)
? ? ? while
? ? ? ? while
? ? ? ? ? while(條件){循環(huán)體}
? ? ? ? do while
? ? ? do while
? ? ? ? 不管條件 滿不滿足 先執(zhí)行一次循環(huán)
? ? 循環(huán)相關(guān)的關(guān)鍵字
? ? ? continue
? ? ? ? 從continue的位置開始 跳過本次循環(huán)
? ? ? ? continue前面不會(huì)跳過
? ? ? ? for (var i=1;i<=100;i++) {
console.log("暈暈暈");
if (i===33||i===55||i===72) {
continue;
// 從continue的位置開始 跳過本次循環(huán)
}
console.log(i);
}
? ? ? break
? ? ? ? 跳出循環(huán)
? 函數(shù)
? ? 具備某些功能的工具
? ? 四種類型
? ? ? 無返回值
? ? ? ? 帶參數(shù)
? ? ? ? 不帶參數(shù)
? ? ? ? ? var 函數(shù)名 = function函數(shù)名(){}
? ? ? ? ? function函數(shù)名(){}
? ? ? ? ? 函數(shù)名()
? ? ? ? ? ? 整體
? ? ? 有返回值
? ? ? ? 帶參數(shù)
? ? ? ? 不帶參數(shù)
? ? ? ? 返回值
? ? ? ? ? 帶返回值的函數(shù)是什么?
? ? ? ? ? ? 返回值 是什么 函數(shù)就是什么
? ? ? ? ? ? 1
? ? ? ? ? ? ? function x(){return 1}
? ? ? ? ? return 值;(return 后面加個(gè)值)
? ? ? ? return
? ? ? ? ? 放到函數(shù)中
? ? ? ? ? ? return 值迄靠;
? ? ? ? ? ? ? 有返回值的函數(shù)
? ? ? ? ? ? return 秒咨;
? ? ? ? ? ? ? 跳出函數(shù)
? ? 組成
? ? ? 聲明函數(shù)
? ? ? ? function函數(shù)名(){}
? ? ? 調(diào)用函數(shù)
? ? ? ? 函數(shù)名()
? ? 內(nèi)置函數(shù)
? ? ? console.log();
? ? ? ? console.log() 方法用于在控制臺(tái)輸出信息。
該方法對(duì)于開發(fā)過程進(jìn)行測(cè)試很有幫助掌挚。
? ? ? alert()
? ? ? ? alert() 方法用于顯示帶有一條指定消息和一個(gè) 確認(rèn) 按鈕的警告框雨席。
? ? ? Math.random();
? ? ? ? 隨機(jī)數(shù)
? ? ? prompt()
? ? ? ? prompt()方法用于顯示可提示用戶進(jìn)行輸入的對(duì)話框。
? ? 封裝
? ? ? 編程思想
? ? 參數(shù)
? ? ? 形式參數(shù)
? ? ? ? 形參
? ? ? ? ? 沒有實(shí)際意義
? ? ? ? ? ? 代表著 即將傳進(jìn)來的實(shí)參
? ? ? 實(shí)際參數(shù)
? ? ? ? 實(shí)參
? ? ? ? ? 是 實(shí)實(shí)在在的一個(gè)值
? ? 返回值
? ? ? 帶返回值的函數(shù)是什么吠式?
? ? ? ? 返回值 是什么 函數(shù)就是什么
? ? ? ? 1
? ? ? ? ? function x(){return 1}
? ? ? return 值陡厘;(return 后面加個(gè)值)
? ? return
? ? ? 放到函數(shù)中
? ? ? ? return 值;
? ? ? ? ? 有返回值的函數(shù)
? ? ? ? return 特占;
? ? ? ? ? 跳出函數(shù)
? ? 作用域
? ? ? 概念
? ? ? ? 變量起作用的范圍
? ? ? 局部變量
? ? ? ? 作用域 只在定義的函數(shù)體 里面糙置,在函數(shù)體外面是不可以使用的
? ? ? 全局變量
? ? ? ? 子主題 1
? ? ? 自執(zhí)行函數(shù)
? ? ? ? 作用域的問題(防止多個(gè)js文件間 變量互相影響)
? ? 作業(yè)
? ? 面試題
? 作業(yè)
? 回顧
? ? 1.
? ? ? 變量的定義
? ? ? ? 值可以被更改的量 叫做變量
? ? ? ? 公式:var 變量名 = 值;
? ? ? ? var a = 30;
a = 10;
a = 25;
? ? 2.
? ? ? 數(shù)據(jù)類型
? ? ? ? 數(shù)字Number
? ? ? ? ? 數(shù)字
? ? ? ? ? 字符串轉(zhuǎn)數(shù)字
? ? ? ? ? ? parseInt()
? ? ? ? ? ? ? 整數(shù)
一是目、腳本語言
語言特性:松散 對(duì)開發(fā)者的要求很低
如定義變量谤饭,嚴(yán)謹(jǐn)語言 int a=30;
松散的語言 var a=30 永遠(yuǎn)不會(huì)認(rèn)為開發(fā)者寫代碼有問題
定義的是數(shù)字懊纳,用的是字符串
1.把數(shù)組轉(zhuǎn)換成字符串
2.執(zhí)行開發(fā)者寫的程序
正常一條語句結(jié)束會(huì)用分號(hào)
二揉抵、1.語句 通常一行代碼如果添加了分號(hào),就是一條語句 英文分號(hào)分隔
2.變量 目的 通過一個(gè)名字來表示一個(gè)可以改變的值
定義方式 var變量名=值 var關(guān)鍵字
不賦值 var變量名
關(guān)鍵字 var
什么是關(guān)鍵字 語言本身提供的名字 有固定意義 var定義變量用
變量名 開發(fā)者起的名字
注意:不能使用關(guān)鍵字定義變量名嗤疯;不能以數(shù)字開頭冤今;不能以特俗符號(hào)開頭;要有意 義 (駝峰命名:第一個(gè)單詞小寫其他字母大寫茂缚;下劃線命名法)
3.注釋
單行注釋// 多行注釋 Ctrl+shift+/
4.調(diào)試 f12 或者 右鍵檢查元素里面的 console
5.算數(shù)運(yùn)算符
+
-
*
/
%(取余) 數(shù)字與數(shù)字之間運(yùn)算
符合運(yùn)算符 += -= *= /= %=
++給自己增加一個(gè)1
--給自己減少一個(gè)1
數(shù)據(jù)類型
* Number 數(shù)字(浮點(diǎn)《小數(shù)》戏罢、整數(shù))
* String 字符串類型 使用雙引號(hào)、單引號(hào)包裹起來的都叫字符串
* 字符串轉(zhuǎn)數(shù)字
轉(zhuǎn)整數(shù) parseInt()
轉(zhuǎn)浮點(diǎn) parseFloat() 如果使用 parseFloat 不要直接使用小數(shù) 精度丟失
如果使用小數(shù)阱佛,乘以10的n 倍(精準(zhǔn)的級(jí)別)運(yùn)算完畢在還原
* Array 數(shù)組
* Object 對(duì)象
* Function 函數(shù)
6.輸入內(nèi)容 prompt()
if語句
switch 選擇其中的某一個(gè)點(diǎn)子(case)
switch(變量){
case 值1:
break帖汞;
case 值2:
break;
default:}
break 不是強(qiáng)制添加 但是如果不添加break 程序會(huì)繼續(xù)走下面條件
例:
var loginType = 1;
// switch (loginType) {
// case 0:
// alert("手機(jī)號(hào)登錄");
// break;
// case 1:
// alert("QQ登錄");
// break;
// case 2:
// alert("WeChat登錄");
// break;
// case 3:
// alert("sina");
// break;
// default:
// alert("手機(jī)號(hào)登錄");
// break;
// }
具備某些功能的工具
四種類型
無返回值:帶參數(shù)
不帶參數(shù)
* 必須去使用(調(diào)用)這個(gè)函數(shù) 才會(huì)去執(zhí)行
* */
// var xx=function () {
// console.log("xxxxxxxx");
// };
//調(diào)用函數(shù)--》函數(shù)體里面的代碼才會(huì)去執(zhí)行
// xx();
參數(shù)
<script>
//形式參數(shù) dongxi 代表著調(diào)用函數(shù)的時(shí)候傳入的實(shí)數(shù)(實(shí)參)
function geilaoshixiayao(dongxi) {
document.write("老師喝了白開水混合"+dongxi);
}
//"冰糖" 實(shí)際參數(shù) 實(shí)際傳入到函數(shù)中的參數(shù)
geilaoshixiayao("冰糖");
geilaoshixiayao("毒藥")
;
</script>
有返回值:帶參數(shù)
不帶參數(shù)
知道循環(huán)次數(shù) for
for(var i =0 ;i<5;i++){ }
for()中的各個(gè)詞語的含義:var i=0初始化 變量 i<5;循環(huán)條件 i++更改變量的值
不知道循環(huán)次數(shù) while
//100以內(nèi)所有偶數(shù)的和
// var sum=0;
// for(var i=0;i<101;i++) {
// if (i % 2 === 0) {
// sum=sum+i;
// }
// }
// console.log(sum);
continue 從continue的位置開始 跳過本次循環(huán) continue前面不會(huì)跳過
//跳出循環(huán)
for(var i=1;i<101;i++){
console.log("YYYYY")
if(i===33){
continue;
}
if(i===55){
continue;
}
console.log(i);
}
//while循環(huán)
var blood =1000;
while (blood>0){
var skill=prompt("請(qǐng)輸入技能:1");
blood-=500;
console.log(blood);
}
while while(條件){循環(huán)體}
do while
do{}while()
返回值是什么 函數(shù)就是什么 function x(){return 1}
return 值
放到函數(shù)中
return 值 有返回值的函數(shù)
return 跳出函數(shù)
三元運(yùn)算(三目運(yùn)算)經(jīng)常代替 if else
if語句
if(睡覺){
做夢(mèng)}
else{
掌握三元運(yùn)算}
三元運(yùn)算
睡覺凑术? 做夢(mèng):掌握三元運(yùn)算
條件(xx==c=xxx)翩蘸?滿足執(zhí)行:不滿足執(zhí)行
? ? ? ?