1.js
1.js是javascript的縮寫,是一門專門用來控制網(wǎng)頁內(nèi)容的行為的腳本語言。
2.如何寫
1.寫在標簽內(nèi)部(寫在變遷的行為相關(guān)的屬性中赫粥,比如按鈕的onclicked)
<button onclick="window.alert('hello word')">按鈕</button>
<input type="text" onfocus="window.alert('xxx')" />
2.寫在script標簽中,script可以放在html中的任何位置
<head>
<meta charset="utf-8" />
<title></title>
<script type="text/javascript">點我</script>
</head>
3.寫在一個js文件中观话,通過src導入。
<script type="text/javascript" src=""></script>
3.做什么
a.js可以在網(wǎng)頁中插入html代碼
b.可以修改標簽的內(nèi)容
c.可以修改標簽的樣式
2.js基礎(chǔ)語法
1.注釋 ('//'單行注釋越平,'/* 多行注釋 */')频蛔。
2.標識符:和python類似。
3.基本數(shù)據(jù)類型:Number(數(shù)字-包含所有的數(shù)字)秦叛,Boolean(布爾)晦溪,String(字符串),Array(數(shù)組)挣跋,Object(對象)三圆。。避咆。
注意:js中沒有元組和集合舟肉。
常用的特殊的值:NaN(表示不存在的數(shù)字),
null (空,一般用來清空變量中的內(nèi)容),
undefined(變量沒有賦值的時候,默認是undefined)
console.log() /相當于python中的print()
4.字面量
Number:10 ,12.5,-100,12e2
Boolean:true false
String:"字符串"或者'字符串',支持轉(zhuǎn)義(類似python)
Array:類似python中的list
Object:{a:100,name:'txf'}.類似python中的字典加對象牌借。key相當于屬性度气,value相當于屬性的值
typeof() 查看類型
5.js語句中
a.一條語句結(jié)束后可以寫分號,也可以不寫膨报。如果一行有多個則要寫磷籍。
b.js中沒有縮進語法的要求。需要使用代碼塊的時候使用{}
3.變量
1.變量的聲明
一:
var 變量名 或者
var 變量名 = 初值
'''
1.var:關(guān)鍵字
2.變量名:標識符现柠,不是關(guān)鍵字;駝峰式命名(首字母小寫院领,后面單詞首字母大寫)
3.初值:可有可無
'''
二:
可以同時聲明多個變量
var age ; var name
var age1,name1,stuyId
var age2=10,name2,stuyId
三:
var name = '張三'
name = 100
4.數(shù)學運算符
'''
1.數(shù)學運算符:+,-,*,/,%,**,++,--
注意:
變量 ++ --------> 自加
變量 -- -------> 自減
注意:
賦值的時候,
++寫在變量的后面是先賦值够吩,然后再讓變量的值加1比然,
++寫在變量的前面是先加1,然后再賦值
'''
2.比較運算符:>,<,==,!=,===,<=,>=,!==,>==,<==
注意:
相等 '==':只判斷值是否相等
完全相等'===' :判斷值和類型是否相等
3.邏輯運算符: &&(與) ||(或) !(非)
4.賦值運算符: =周循,+=强法,-=万俗,*=,/=...和python一樣
5.三目運算符: ?:
表達式1?值1:值2 ------->判斷表達式1的值是否為true,為true運算結(jié)果就是值1饮怯,為false運算結(jié)果就是值2
三個數(shù)取最大值
var a=10,b=20,c=15
var max=(a>b?a:b)>c?(a>b?a:b):c
console.log(max)
5.分支結(jié)構(gòu)
1.if語句闰歪,switch語句
一
if (條件語句){
執(zhí)行語句1
}
二
if (條件語句){
執(zhí)行語句1
}else{
執(zhí)行語句2
}
三
if(條件語句){
執(zhí)行語句1
}else-if(條件語句){
執(zhí)行語句2
}
if (11%2==0) {
console.log('是偶數(shù)')
} else{
console.log('是奇數(shù)')
}
if(10%2==0){
console.log('偶數(shù)')
}else if(10%2==0){
console.log('奇數(shù)')
}else{
console.log('不知道')
}
switch (表達式){
case value:
代碼段1
break
case: value:
代碼段2
...
default:
代碼段3
}
'''
工作原理:首先設(shè)置表達式 n(通常是一個變量)。隨后表達式的值會與結(jié)構(gòu)中的每個 case 的值做比較蓖墅。如果存在匹配库倘,則與該 case 關(guān)聯(lián)的代碼塊會被執(zhí)行。請使用 break 來阻止代碼自動地向下一個 case 運行论矾。
從第一個滿足表達式結(jié)果等于value開始教翩,依次打印后面的,如果沒有找到滿足的條件贪壳,就執(zhí)行default里面的代碼段饱亿。break:跳出循環(huán)。
'''
6.循環(huán)結(jié)構(gòu)
1.for循環(huán)
一
for var 變量 in 序列{
循環(huán)體
}
'''
原理:依次從序列中取元素對應的索引寥袭,取完為止路捧,每取一個執(zhí)行一次循環(huán)體。
注意:遍歷字符串,取的是字符對應的下標
遍歷數(shù)組传黄,取的是元素對應的下標
遍歷對象杰扫,取得是屬性名(key)
'''
var str='abcd'
for(var i in str){
console.log(str[i]) // i值是索引的下標
}
// 'a','b','c','d'
---------------------------------------------------------------------
二
for(表達式1;表達式2;表達式3){
循環(huán)體
}
'''
執(zhí)行過程:先執(zhí)行表達式1,然后在判讀表達式2的結(jié)果是否為true,如果是就執(zhí)行循環(huán)體膘掰,執(zhí)行完在執(zhí)行表達式3章姓,然后再判斷表達式2的結(jié)果是否為true,如果是就繼續(xù)執(zhí)行识埋,否則結(jié)束凡伊。直到表達式2位false為止。
'''
for (var i=1;i<10;i++) {
console.log(i)
}
// 1,2,3,4,5...10
2.while循環(huán)
一
while(條件語句){
循環(huán)體
}
二
do{
循環(huán)體
}while(條件語句)
'''
過程:先執(zhí)行一次循環(huán)體窒舟,然后再判斷條件語句是否為true系忙,為true又執(zhí)行循環(huán)體
'''
7.函數(shù)
1.聲明
function 函數(shù)名(參數(shù)列表){
函數(shù)體
}
逗號表達式:多個值之間用逗號隔開,整個表達式的結(jié)果是最后那個值.
注意:js中不能同時返回多個值(有元組的語法的語言才支持返回多個值)
function test(){
return 'abc',1
}
console.log(test())
// 1
'''
js中惠豺,函數(shù)也可以作為變量
'''
2.另一種聲明函數(shù)的方式
var 變量名 = function(參數(shù)列表){
函數(shù)體
}
var fun1 = function(){
console.log('哈哈哈')
}
console.log(fun1())
// 哈哈哈
// undefined (無返回值)
8.數(shù)據(jù)類型
1.數(shù)字類型(Number):所有的數(shù)字對應的類型
var num = new Number() // 0
var num1 = new Number('123') // 123
注意:new 類型名(值)----->可以將其他的類型的數(shù)據(jù)轉(zhuǎn)換成相應的類型
數(shù)字----->布爾: NaN(none)和0是false银还,其他都是true
字符串--->布爾:空串是false,其他是true
總結(jié):所有的為0為空的轉(zhuǎn)換成布爾是false洁墙,NaN蛹疯,null和undefined都是false;其他的都是true
------------------------------------------------------------------------
2.字符串(String):unicode編碼
a.獲取單個字符:通過字符串[下標]
注意:
'''
1.下標:0 ~長度-1 (正)
2.不支持切片
'''
b.長度
字符串.length
c.運算符:比較和+
'''
'+' : 先把兩邊都轉(zhuǎn)換成String類型(如果有不是Sting類的)再相加(拼接)。
'''
----------------------------------------------------------------------
3.數(shù)組(python中的list)
a.有序热监,可變捺弦,元素的類型可以是任意類型的數(shù)據(jù)