1.語句
通常一行代碼 如果添加了分號->一條語句
使用躏率;分隔
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.不能以特殊符號開頭
4.定義變量名要有意義
駝峰命名法
第一個(gè)首字母小寫其他首字母大寫
下劃線命名法
意義
變量名
開發(fā)者起的一個(gè)名字
外號
標(biāo)記
值
具體內(nèi)容
數(shù)字
文字(字符串)
數(shù)組
對象
由名字 表示 后面的值
子主題 1
3.注釋
單行注釋
Ctrl+/
多行注釋
Ctrl+shift+/
沒實(shí)際意義谣殊,不會去執(zhí)行
只讓開發(fā)者看到
不讓瀏覽器看到,屏蔽了瀏覽器
4.調(diào)試
按F12(右鍵檢查元素)->console
數(shù)據(jù)類型
Number 數(shù)字類型
包含浮點(diǎn)和整數(shù)
String
字符串類型“”或者"包裹的都是字符串
boolean
波爾類型
true
對
false
錯(cuò)
Array 數(shù)組
Object 對象
Function 函數(shù)
數(shù)據(jù)類型的轉(zhuǎn)換
字符串 轉(zhuǎn)數(shù)字
轉(zhuǎn)整數(shù)
parselnt()
轉(zhuǎn)浮點(diǎn)
parseFloat()
如何使用小數(shù)击困?
精度丟失
不要直接使用小數(shù)
非要使用
1.乘以100(精準(zhǔn)的級別)倍
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è)條件滿足 就是真的
非轿偎!
黑白顛倒
對的就是錯(cuò)的 錯(cuò)的就是對的
/*
* 表示真的值
* true
* 1
* 有內(nèi)容的字符串“xx”(不是空字符串)
*(存在值的)有值的對象
*
* */
/*表示假的值
* false
* 0
* null
* undefineded
* NaN
* 空字符串“ ”
* */
三元運(yùn)算(三目運(yùn)算)
經(jīng)常代替if else語句
if(睡覺){
做夢
}else{
掌握三元運(yùn)算
}
三元運(yùn)算
睡覺?做夢:掌握三元運(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è)大神級別才會)
在程序中 打點(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)行會在斷點(diǎn)位置停止
->鼠標(biāo)移動(dòng)到斷點(diǎn)上面的變量
->就會顯示變量的值
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 程序會繼續(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前面不會跳過
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() 方法用于在控制臺輸出信息看疙。
該方法對于開發(fā)過程進(jìn)行測試很有幫助豆拨。
alert()
alert() 方法用于顯示帶有一條指定消息和一個(gè) 確認(rèn) 按鈕的警告框。
Math.random();
隨機(jī)數(shù)
prompt()
prompt()方法用于顯示可提示用戶進(jìn)行輸入的對話框能庆。
封裝
編程思想
參數(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ù)
parseFloat()
浮點(diǎn)
如
var s = "3.1415926";
document.write(parseInt(s));
document.write("<hr>");
var s = "3.1415926";
document.write(parseFloat(s));
document.write("<hr>");
字符串String
“”
‘’
數(shù)字轉(zhuǎn)字符串 +
拼接字符串
+
波爾Boolean
true
非0數(shù)字
123
-123
非空字符串
“有內(nèi)容”
“ ”
有值的對象
var a = {s:12}
var b = [12,3]
var c = function(){}
false
0
NaN
undefined
null
""
函數(shù)Function
匿名函數(shù)
var a = function(形參列表){函數(shù)體}
function 函數(shù)名(形參列表){函數(shù)體}
數(shù)組Array
對象Object
3.
運(yùn)算符
a.算術(shù)運(yùn)算符
+
var a = 1+1;
-
var a = 1-1;
*
var a = 1*1;
/
var a = 1/1;
%
var a = 1%1;
b.復(fù)合運(yùn)算符
+=
var a = 10;
a = a+5;
var a = 10;
a += 5;
-=
var a = 10;
a -= 5;
*=
var a = 10;
a *= 5;
/=
var a = 10;
a /= 5;
%=
var a = 10;
a %= 5;
++
--
加加減減在前 先做自增減 再做其他運(yùn)算
var a = 30;
var b = a++ + 40;//a 是30
console.log(a)//31
c.邏輯運(yùn)算符
邏輯與&&
兩邊條件都滿足 -> true
只要有一個(gè)條件不滿足 就不成立 -> false
邏輯或||
兩邊條件 只要有一個(gè)滿足 -> true
兩邊條件 都不滿足 -> false
邏輯非攀例!
對的加上感嘆號 -> false
錯(cuò)的加上感嘆號 -> true
d.比較運(yùn)算符
>
>=
<
<=
==
忽略數(shù)據(jù)類型
1 == “1” --->true
===
絕對等于 區(qū)分?jǐn)?shù)據(jù)類型
1 === “1” --->false
!=
!==
對比之后的結(jié)果 -> boolean類型的值(true false)
4.
分支結(jié)構(gòu)
if
if(條件){條件滿足執(zhí)行}
if(條件){條件滿足執(zhí)行}else{條件不滿足執(zhí)行}
if(條件){條件滿足執(zhí)行}else if(條件){條件滿足執(zhí)行}else{條件不滿足執(zhí)行}
switch case
switch(變量){
case 值1:
滿足這個(gè)case執(zhí)行代碼
break;
case 值2:
滿足這個(gè)case執(zhí)行代碼
break;
default:
所有case都不滿足 執(zhí)行
}
5.
循環(huán)結(jié)構(gòu)
for
知道循環(huán)次數(shù)的時(shí)候用
for(var i=0;i<99;i++){循環(huán)體}
var i=0; 初始化變量
i<99; 循環(huán)的條件
i++顾腊;更改變量的值
while
不知道循環(huán)次數(shù)的時(shí)候用
while
while(條件){循環(huán)體}
//1 表示true 肯定滿足
while(1){
var num = parseInt(Math.random()*11);
if(num===10) {break;}
}
do while
不管循環(huán)條件是不是滿足粤铭,都會先執(zhí)行一次
do {循環(huán)體}while(條件)
關(guān)鍵字
continue跳過本次循環(huán)
breakt跳出循環(huán)知道循環(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á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("請輸入技能: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ù)
5.三元運(yùn)算
睡覺? 做夢:掌握三元運(yùn)算
條件(xx==c=xxx)投慈?滿足執(zhí)行:不滿足執(zhí)行
6.
函數(shù)
創(chuàng)建函數(shù)
function函數(shù)名(形參列表){函數(shù)體}
調(diào)用函數(shù)
函數(shù)名(實(shí)參列表)