JavaScript基礎學習(二)

運算符

(1)   其他數據類型轉換爲Boolean;

string->Boolean;

var a="";

                         a="hello"

                         a=Boolean(a);空串爲false其餘的爲true。

Number->Boolean

a=123;

                        a=-123;

                        a=0;

                        a=NaN;

除了0和NaN其餘的都是true。

a=null;a=undefined; ——》false

object->Boolean爲true。

(2)基本運算符  + - * / %

1:+號運算符,在用於字符串相加時結果爲一個字符串拼接;

var a="123";

         a=a+"456"=”123456”;

我們可以利用這個隱式的方法將其他類型轉換爲字符串類型。

a=123+”” +個空串可以把a轉換爲字符串“123”.

我們可以利用+將其他類型轉換爲String類型,- / * 將其他類型轉換成Number類型.

2:單目運算符 + -表示正好,負號,typeof

a=+"123" 我們也可以通過+運算符將其他運算符轉換爲Number類型的運算符。

3:自增++ 自減運算符 –

a++ ,++a ,--a ,a--;a=20

a=a++;//表示的是自增前的值  a=20;

a=++a;//++a表示自增後的值 a=21;

--同理 –-a 表示的自減後的值,a—表示的是自減錢的值。

4:邏輯運算符

!&& || 與或非運算符

!運算符將其他類型轉換爲Boolean類型在取反 true->falsefalse->true

&& and 運算符 必須都爲真結果爲真否則爲否 

|| or 運算符 一個真就爲真,兩個假都爲假。

  b=123&&456=456 兩個都爲真則返回第二個值因爲計算機運算的規則

true&&true 因爲 需要判斷第二個所以返回第二個值。

False&&true 不需要判斷第二個直接返回第一個值。//JS中可以,C++,JAVA不可以,這樣運算。

5:賦值運算符(= ,+= ,-=,*=,/= ,%=)

  a=a+10等價於a+=10;其餘的類似。

6:關係運算符

大於,小於,等於> < ==;

(1)    console.log(NaN==NaN);NaN類型與任何值進行比較結果都爲false。

我們可以通過isNaN()函數判斷值是否爲NaN.

(2) console.log("abc">"b"); 結果爲false 字符串類型進行比較會一個位一個進行比較,比較的是字符串編碼。”a”<”b”編碼。

(3)console.log("123">1);字符串類型於Number類型比較會轉換成Number在比較.

(4)undefined==null 結果爲真。0==null結果爲假,沒有轉換成Number類型進行比較。

7:條件運算符(三元運算符)

     a=10>20?a:b;

  a=a>b?(a>c?a:b):(b>c?b:c);表示求三個數的最大值。

8:對象:用構造函數創建一個對象 var a=new Object;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

8:

 

8:對象:用構造函數創建一個對象var a=new Object;

(1)var a=new Object;//創建一個對象

      a.name="123";//給對象的屬性賦值

              deletea.name;//刪除對象的屬性

              console.log(a.name);

var a=new Object;

     a["name"]="張三"//屬性名可以寫在[“”]中,裏面必須是字符串。

      console.log(a["name"]);

       a["name"]="張三"

      varn="name";//可以更加靈活的改變。

      console.log(a[n]);

(2)

        var a=2,b=1;

     a=b;

     b++;

     console.log("a的值爲"+a);

        console.log("b的值爲"+b);

由於a,b變量的值儲存在棧內存中的,他們各自的存放的地址不同,所以他們是相互獨立的,併發生改變與a值無關。

var a=new Object;

     var b=new Object;

     a.name="張三";

     b.name="李四";

     a=b;

     console.log(a);

     console.log(b);

     a.name="小米";

     console.log(a);

     console.log(b);

對象賦值則他們屬於同一個地址,對象空間開闢存放在堆內存中,a,b,對象在棧內存中存放的是對象在堆內存的地址,我們將b對象賦給a,他們擁有的空間是一樣的所以,其中一個值得改變就會影響另一個值得改變。

 

  var obj={

   name:"豬八戒",

   age:"1000000",

   sex:"男",

   hobby:"女"

   };

   console.log(obj);

obj常量的初始化類似於數組a[5]={1,2,3,4,5};

(2)   函數。函數用來放置代碼塊。需要運用的時候直接調用。

//函數的初始化

  varfun2=function()

    {

            console.log("123456");

           

    }

           fun2()     ;//調用這個函數

//function fun2(a,b)

     {

          

          

           console.log("這是第一個函數");

     }

           fun2(1,2);     

調用函數時,解析器不會檢查實參的類型和數量,(可能插入非法的數值,需要檢查)多餘的實參不會被賦值。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章