JavaScript基礎 - js基礎語法

1 js基礎語法

1.單行注釋

/*多行注釋
多行注釋
*/

2.標識符

標識符就是用來命名的(給變量、函數、對象命名)
js中要求標識符是由字母、數字、下劃線和$組成的,數字不能開頭
js中大小寫敏感

console.log():在控制臺打印括號中的內容

3.常用的數據類型

數字類型(Number)、布爾(Boolean)、字符串(String)
數組(array)、對象(Object)、函數(function)
typeof(數據):獲取數據類型

數字類型(Number):包含所有的數字(整數和小數),支持科學計數法,不支持復數

布爾(Boolean):true和false

字符串(String):用雙引號或者單引號括起來的

數組(Array):相當于python中的列表

對象(Object):相當于python中對象和字典的結合

函數(Function)

typeof(數據):虎丘數據類型

var 變量名 = new 類型名(數據):將數據轉換成指定的類型

常用的特殊值:undefined,null(一般用來清空變量)

2 變量

語法:
var 變量名
變量名 = 值

說明:
var :是js的關鍵字,聲明變量的時候用。var可以省略,省略的時候變量名后面必須賦值
不省略的時候變量名后可以賦值,也可以不賦值,不賦值的時候默認值是undefined

變量名:標識符,不能是關鍵字。駝峰式命名規(guī)范

3 運算符

js中支持 數學運算符、比較運算符、邏輯運算符、賦值運算符、位運算符

1.數學運算符:+,-,,/,%,*,++,--

js中不支持整除

2.比較運算符:>, <, ==, !=, >=, <=, ===, !==

比較返回的結果都是布爾值
==(相等):判斷值是否相等
===(完全相等):判斷值和類型是是否相等

3.邏輯運算符:&&(與)、 ||(或) 、 !(非)

運算規(guī)則和python中的and、or、not一樣

4.賦值運算符:=, +=, -=, *=, /=, %=

5.位運算符:&、|、^、~ 、 >>、<<

6.復合運算:數學、比較、邏輯、賦值

<script type="text/javascript">
    console.log(5==5)
    console.log(5=='5')
    console.log(5===5)
    console.log(5==='5')
</script>

4 分支結構

js中的分支結構有兩個,分別是if和switch語句

1.if語句
結構:
if(條件語句){
代碼塊1
}else if(條件語句){
代碼塊2
}else{
代碼塊3
}

2.switch語句

switch(變量/表達式){
case 值1:{
代碼段1
}
case 值2:{
代碼段2
}
case 值3:{
代碼段3
}
default:{
代碼段4
}
}

<script type="text/javascript">
    var num
    num = 3
    switch(num){
        case 0:
            console.log('周一')
            break
        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
        default:
            console.log('erro')
    }
    
    var score
    switch(score){
        case 0:
            console.log('不及格')
            break
        case 1:
        case 2:
        case 3:
            console.log('及格')
            break
        case 4:
        case 5:
            console.log('優(yōu)秀')
            break
        default:
            console.log('輸入有誤')
        
    }
    
</script>

5 循環(huán)結構

js中的循環(huán)有for循環(huán)和while循環(huán)

1.for循環(huán)

a.for循環(huán)
for-in:和python的for循環(huán)的執(zhí)行過程一樣
for(變量 in 序列){
循環(huán)體
}
注意:取出來的是元素的下標或者key(屬性名)
序列可以是字符串、數組和對象

b.C的for循環(huán)結構:
for(表達式1;表達式2;表達式3){
循環(huán)體
}

2.while循環(huán)

1.while循環(huán):和python的while循環(huán)一樣
while(條件語句){
循環(huán)體
}

先判斷,后執(zhí)行

2.do-while循環(huán)
do{
循環(huán)體
}while(條件語句)

執(zhí)行過程:先執(zhí)行一次再判斷

3.break和continue

和python一樣

<script type="text/javascript">
    str1 = 'abc'
    for(x in str1){
        console.log(str1[x])
    }
    
    arr = [10, 20, 30]
    for(x in arr){
        console.log(x, arr[x])
    }
    
    obj1 = {name:'xiaoming', age:'20'}
    for(x in obj1){
        console.log(x, obj1[x])
    }
</script>

6 函數

函數分為聲明和調用,聲明的時候不會執(zhí)行函數體,只有調用才會執(zhí)行函數體

1.函數的聲明

a.和python相同的聲明方式
function 函數名(參數列表){
函數體
return 返回值
}

說明:function是聲明函數的關鍵字
函數名:駝峰式命名,見名知義
參數列表:參數如果設置默認值,相當于設置默認值undefined

b.以聲明變量的形式聲明函數
函數名 = function(參數列表){
函數體
return 返回值
}

2.函數的調用

函數名(實參列表)

調用的時候,保證每個參數都有值
只能通過位置參數傳參
js中不支持不定長參數
返回值:沒有return返回值是undefined

<script type="text/javascript">
    
    function sum(num1, num2){
        return num1 + num2
    }
    
    console.log(sum(1, 2))
    
    mul = function(num1, num2){
        return num1 * num2
    }
    
    console.log(mul(2, 3))
    
</script>

7 數據類型

1.字符串:由單引號或者雙引號括起來的
a.轉義字符:和python一樣
b.字符串長度:字符串.length
c.獲取單個字符:字符串[下標]
注意:下標取值范圍0~長度-1;超出范圍取到的是undefined
js中沒有切片語法
d.相關運算
+ - 將兩個字符串拼接在一起產生一個新的字符串
(注意如果是一個字符串加上其他的數據類型,會先將其他數據類型轉換成字符串再相加)
比較運算(>,<,==,!=,===,!==)
>,<:和python一樣,比較字符編碼值的大小
e.相關方法
match(正則表達式):根據正則表達式匹配結果
正則表達式寫在/ /之間

<script type="text/javascript">
    str1 = 'dg26ff656jkjasn545mnxcnvija'
    re = str1.match(/\d+/)
    console.log(re)
    
    
</script>

8 數組

數組就是python中的列表

1.數組是有序的,可變的,里面的元素可以是任意類型的數據

2.增刪改查

a.查(獲取數組中的元素)
數組[下標]
數組.slice(開始下標, 個數):切片
b.增(添加元素)
數組.push():將元素添加到數組的最后
c.刪(刪除元素)
數組.pop():將數組的最后元素刪除
數組.splice(開始下標, 指定個數):刪除
d.改(修改元素)
數組[下標] = 新值:修改指定下標的元素
數組.splice(開始下標,個數,多個其他參數):用其他參數替換開始下標開始后的指定個數的元素

<script type="text/javascript">
    arr1 = [1, 2, 'abc']
    console.log(arr1[2])
    
    arr1.push('hello')
    console.log(arr1)
    
    arr2 = [1, 2, 'abc']
    arr2.pop()
    console.log(arr2)
</script>

9 對象

js中沒有python的類,只有對象和構造方法

1.對象的字面量

對象名 = {屬性名:屬性值,屬性名2:屬性值2...}

2.使用對象屬性

對象[屬性名]
對象.屬性

3.構造方法

function 類名(參數列表){
this.屬性1 = 屬性值1
this.屬性1 = 屬性值1
...
return this
}
這里的this類似python中的self,表示當前對象

<script type="text/javascript">
    p1 = {
        name:'xiaoming',
        age:20,
        tel:'1548555511',
        eat:function(){
            console.log('吃飯')
        }
    }
    
    console.log(p1.name)
    
    function Person(name, age){
        this.name = name
        this.age = age
        this.sex = '男'
        this.tel = ''
        
        this.eat = function(food){
            console.log(this.name + ' eat ' + food)
        }
        
        return this
    }
    
    p2 = Person('xiaoming', 20)
    p2.tel = '1545225634'
    p2.eat('fruit')
    
    function Dog(color, age, kind){
        this.color = color
        this.age = age
        this.kind = kind
        
        this.eat = function(){
            console.log('eat')
        }
        
        this.bark = function(){
            console.log('wangwang')
        }
        
        return this
    }
    
    dog1 = Dog('red', 2)
    dog1.eat()
    console.log(dog1.color)
    
    dog2 = Dog('yellow', 3)
    dog2.bark()
    dog2.kind = 'Huskie'
    console.log(dog2.kind)
</script>
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 一、js基礎 1.什么是js js是JavaScript的縮寫。是一門專門用來處理網頁中的行為的腳本語言,也是we...
    xdxh閱讀 409評論 0 1
  • 一、快捷鍵 ctr+b 執(zhí)行ctr+/ 單行注釋ctr+c ...
    o_8319閱讀 6,014評論 2 16
  • 第2章 基本語法 2.1 概述 基本句法和變量 語句 JavaScript程序的執(zhí)行單位為行(line),也就是一...
    悟名先生閱讀 4,506評論 0 13
  • “我是誰”“我從哪來”“我要到哪去”是人生的終極三問,我今晚一直在思考我的答案。我是一名大一學生,每天讀著自己...
    喬楓岸閱讀 635評論 0 1
  • 今天晨讀分享的書叫《博弈心理學》,分享的三個妙招分別是:以退為進、化敵為友、反守為攻。 以退...
    錢生錢落地實操閱讀 630評論 0 1

友情鏈接更多精彩內容