1.書寫位置
內(nèi)嵌到網(wǎng)頁中敞嗡,寫在script標(biāo)簽內(nèi)部
寫在外部文件中青抛,通過script src 引入script
2.輸出方式
alert()? ? 彈窗
document.write(“這里寫輸出的內(nèi)容”)? 寫在網(wǎng)頁中
console.log(“這里寫輸出的內(nèi)容”) 寫在瀏覽器窗口的console中
3.輸入方式
prompt(“這里寫輸入的內(nèi)容”)
輸入 prompt 接收到用戶輸入的內(nèi)容會放到num中
var num=prompt(“請輸入內(nèi)容:”)
將num輸出出來
alert num
js注釋
//單行注釋
/*這里是多行注釋
這里是多行注釋*/
js可選的分號腻脏,建議加上
js用分號來表示一個語句的結(jié)束桅滋∥蒙。可寫可不寫泼舱,但是通常在團(tuán)隊規(guī)范中進(jìn)行說明。
如:alert();
關(guān)鍵字
關(guān)鍵字就是javascript中自身需要使用的一些單詞裕循,這些單詞具有特殊的意義以及用法臣嚣,因此,在程序定義某個名稱表示某種東西的時候就不能使用這些關(guān)鍵字了剥哑。常見的關(guān)鍵字如:defaul硅则、while、this株婴、for怎虫、in暑认、break、do大审、new蘸际、switch、var徒扶、function粮彤、case、null姜骡、underfined等
大小寫
javascript區(qū)分大小寫
變量
字面意義可變化的數(shù)據(jù)导坟。類似于一個臨時存儲數(shù)據(jù)的容器。
變量使用
var 可以定義一個變量圈澈。但是定義的對象不能是var 因?yàn)関ar是關(guān)鍵字
例如:var num=0
但是不能使用 var var=0
查找元素的方法
js可以操作html元素惫周,改變html的樣式,首先就要找到它
案例:
事件
html+css+js:結(jié)構(gòu) 表現(xiàn) 行為
用戶和瀏覽器交互時候的行為
函數(shù)
函數(shù)指具有一定功能的代碼塊
1.用function關(guān)鍵字來定義函數(shù) 固定格式 function 函數(shù)名(){這里是代碼塊}
2.函數(shù)定義好以后如何使用康栈?使用函數(shù)名? ?函數(shù)調(diào)用
函數(shù)封裝的好處:可以復(fù)用代碼
事件函數(shù)綁定:
解析:當(dāng)onclick obox里面的內(nèi)容時 就會調(diào)用fn2函數(shù)
注意:obox.onclick=fn2和obox.onclick=fn2()的區(qū)別
obox.onclick=fn2 表示用戶發(fā)生事件后才會調(diào)用函數(shù)
obox.onclick=fn2() 表示不管事件有沒有發(fā)生都會調(diào)用函數(shù)
獲取html元素里的值???innerHTML
要產(chǎn)生交互? 1 先找到對象 2 要知道發(fā)生了什么事 3 如何實(shí)現(xiàn)
設(shè)置html的內(nèi)容 :
?obox.innerHTML='螺釘課堂'
獲取和設(shè)置input的值 用value
匿名函數(shù):對象.事件=function(){
這里做具體業(yè)務(wù)邏輯}
如:(容器名).onclick=function(){}
innerHTML與innerText的區(qū)別:
innerHTML:解析盒子內(nèi)部帶標(biāo)簽的值
innerText:解析盒子內(nèi)部純文本
例如:
改變HTML的元素樣式
使用盒子名.style.元素樣式名
例如:
練習(xí)1:
練習(xí)2:
數(shù)據(jù)類型:根據(jù)具體的運(yùn)算規(guī)則得出相應(yīng)的結(jié)果
查看數(shù)據(jù)類型:typeof 變量名
string 字符串類型? 非常常用 凡是用" "雙引號的都是字符串
number 數(shù)字類型
通過prompt獲取到的內(nèi)容都是字符串類型
如果是 - 號 那么會將字符串轉(zhuǎn)化成數(shù)字類型進(jìn)行數(shù)學(xué)運(yùn)算
如果是 + 號 兩邊只要有一個字符串递递,那么+號就會變成字符串連接符
如果想轉(zhuǎn)換成數(shù)字類型,則在前面加上number()
例如:num=Number(oipt1.value)+Number(oipt2.value)
或者:num1=Number(oipt1.value)
num2=Number(oipt2.value)
num=num1+num2
注意:+ 在js中有兩層意思:1 字符串連接符 2 算數(shù)中的+號
運(yùn)算符
運(yùn)算符:代表的是運(yùn)算規(guī)則的符號
算數(shù)運(yùn)算符:+? -? *? ?/? ?%(取余)
比較運(yùn)算符: >? ? <? ?>=? ?<=? ?==? ?===??
注意:== 與===都是判斷兩個數(shù)是否相等
==是比較數(shù)值?
===是比較類型和數(shù)值
流程控制-三大結(jié)構(gòu)
順序結(jié)構(gòu):按照書寫順序從上到下執(zhí)行
選擇結(jié)構(gòu):如果遇到條件啥么,由條件來控制語句執(zhí)行
循環(huán)結(jié)構(gòu):程序語句需要被重復(fù)多次執(zhí)行
if 條件語句:
if(這里寫條件語句){
如果滿足條件(true)執(zhí)行這里的代碼
}else{
如果不滿足條件(false)就執(zhí)行這里的代碼}
簡易計算器
變量的命名規(guī)范
1登舞、不能以數(shù)字開頭
2、字母饥臂、下劃線、數(shù)字組成似踱,其他符號不允許使用
3隅熙、不能使用關(guān)鍵字 :var else for 等
4、見詞達(dá)意
5核芽、用駝峰命名或者下劃線命名 用戶名 user_name ,userName?
6囚戚、不要用中文
數(shù)據(jù)類型
Number -----> 數(shù)據(jù)類型
String? ------>字符串類型
Boolean? ------> 布爾類型
Null? ------> 空
underfined? ------> 為定義
object? ------> 對象
1、在數(shù)字類型中轧简,沒用區(qū)分浮點(diǎn)數(shù)類型跟整數(shù)類型
2驰坊、浮點(diǎn)數(shù)不準(zhǔn)確。
字符串類型
注意:單引號與雙引號同時使用時 需要嵌套使用
變量和字符串一起使用時哮独,可以用+號連接
字符串的長度:使用變量名.length? ?如alert(url.length)
空格也是字符串????
空字符串 var a=''
布爾類型
表示真或假拳芙、開或關(guān)、是或否皮璧,只有兩個值:true或false
轉(zhuǎn)換數(shù)字類型?
Number? 只能轉(zhuǎn)換純數(shù)字字符串? ?
parseInt? 將字符串轉(zhuǎn)換成整數(shù)形式舟扎,字符串內(nèi)有字母則讀取到字母部分后面就不讀取了? parseInt(12a34)----->12
parseFloat? 將字符串轉(zhuǎn)換成小數(shù)形式,字符串內(nèi)有字母則讀取到字母部分后面就不讀取了? 但是不精確
parseFloat(12.3a12)-----> 12.3? ? ? ? ? ??parseFloat(12a12)----->12
轉(zhuǎn)換成字符串:String
轉(zhuǎn)換成布爾類型:Boolean
注意:轉(zhuǎn)換成false的情況:0悴务,-0睹限,空字符串"",null,underfined羡疗,NaN (必須記兹痉)
自動類型轉(zhuǎn)換:
var a=1??
if(a){ //這里代表的意思是如果a是true的意思 自動轉(zhuǎn)換為Boolean?
console.log(typeof a)}
var a=1
var b='2'
alert(a+b)? //如果a跟b有一個為字符串 那么+號就變成了字符串連接符
var a=prompt(‘?dāng)?shù)字’)//prompt里的內(nèi)容都是字符串
if(a>=60){//這里的a強(qiáng)制變成數(shù)字與60做對比
console.log("不及格")}
三目運(yùn)算符
var a=prompt('數(shù)字')
a=>60?alert('及格'):alert('不及格')
// a是否大于等于60呢?如果是那么輸出jige,
// 如果不是那么輸出bujige 注意:沒有if
京東增加商品數(shù)量的代碼:
點(diǎn)擊切換圖片功能代碼
邏輯運(yùn)算符
與 &&? 并且的意思 必須同時滿足 結(jié)果才會為true? ?有假為假
或? ||? ? 或者的意思? 兩邊只需要滿足一個就行 結(jié)果就為true? ?有真為真
非? 叨恨!? ?取反的意思 原來是true 變成false? 原來是false 變成true? 有真為假
&& 與? ||的存在短路問題
賦值運(yùn)算符
a +=10? -----> a=a+10
a *=10? ?-----> a=a*10
字符串連接符號?
+? 當(dāng)兩邊有一個為字符串的時候 這個+就是字符串連接符
可以把變量和字符串鏈接起來? ?“<div>”+num+"</div>"
運(yùn)算符的優(yōu)先級
賦值運(yùn)算符最低??
()優(yōu)先級最高
流程控制
三大結(jié)構(gòu):
順序結(jié)構(gòu)
選擇結(jié)構(gòu)(分支)
循環(huán)結(jié)構(gòu)()
1 選擇結(jié)構(gòu)
a.? ?if語句- - 語法結(jié)構(gòu)
? ? ? if(條件){
code柳刮。。}
如果滿足條件 就執(zhí)行代碼
b.? ?if...else... --語法結(jié)構(gòu)
if(條件){
code特碳。诚亚。}
else {
code。午乓。}
如果滿足條件? 就執(zhí)行代碼 否則就站宗。。益愈。
模擬QQ登陸的代碼:
if梢灭。。蒸其。else if敏释。。摸袁。else if钥顽。。靠汁。else語句
如果滿足條件1則執(zhí)行code1蜂大,不滿足則執(zhí)行條件2,再不滿足則執(zhí)行條件3.蝶怔。奶浦。。都不滿足則執(zhí)行else 后的code
if (條件1){
code1}else if(條件2){
code2}else if(條件3){
code3}else{
code}
switch 語句
總結(jié):if和switch都能完成分支結(jié)構(gòu)踢星,如果有范圍的話 則用if澳叉, 有具體的值的話 則使用switch更簡單
循環(huán)結(jié)構(gòu)
單曲循環(huán) ---->? 讓某段代碼重復(fù)執(zhí)行
for循環(huán)語句格式
? ? for(初始化表達(dá)式;條件表達(dá)式沐悦;條件改變格式){
需要被循環(huán)的代碼}
如for(var i=0;i<100;i++){
document.write("hello world? <br>")}
while 循環(huán)語句格式
whlie(條件){
這里寫需要循環(huán)的code}
for 和 while 的使用場景:
當(dāng)知道循環(huán)次數(shù)的時候 可以用for 或者 while? ?推薦for循環(huán)
當(dāng)不知道循環(huán)次數(shù) 但是知道什么時候結(jié)束 那么推薦使用while循環(huán)
do...while循環(huán)語句
do{
循環(huán)語句}while(條件)
總結(jié):while循環(huán)與do...while循環(huán)的區(qū)別:
while循環(huán)時先判斷后執(zhí)行成洗,執(zhí)行循環(huán)次數(shù)>=0
do...while 循環(huán)先執(zhí)行循環(huán)體,再判斷 執(zhí)行循環(huán)次數(shù)>=1