国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

php基礎學習筆記—javascript(4)

2019-11-15 02:05:47
字體:
來源:轉載
供稿:網友
php基礎學習筆記—javascript(4)

變量:

變量的含義:就是用于表示一個數據的代號——我們自己定義的一個名字。

變量的定義:var v1; var v2 = 2; var v3, v4, v5; var v6, v7=7, v8, v9=”abc”;

變量的使用:

賦值:v1 = 1; v1 = 1+2+3; v1 = v2 + “abc”; v1 = v1 + 5; v1 = v1 + v1;

取值:m1 = v1; //將v1的值取到,再賦值給m1

m2 = v1 + 5; //將v1的值取到,再跟5相加,然后賦值給m2

alert( v1 ); //將v1的值取到,并交給alert去“彈出”

document.write( v1 ); //將v1的值取到,并交給document.write去“輸出”

alert( “v1=” + v1); //取到v1的值,并和字符串“v1=”進行連接運算,然后結果被alert。

document.write( “v1=” + v1);

數據類型:

基本類型:

布爾類型: boolean; 這種類型只有兩個值可用: true, false

字符串類型: string; 可以用單引號或雙引號表示,含義相同;

數字類型: number

復合類型:

數組: Array,

對象: Object

特殊類型:

null:空類型——可以給一個變量明確賦值為“null”,這就是空值,也是空類型,只是表示一個“含義”:該變量沒有給有效值。

undefined: 未定義:此類型通常就是對應“根本就還沒有給值”這種狀態。

算術運算符: +  -   *   /   %

注意點:

1, 除法(/)就是數學上的自然除,而不是C語言的除法含義。

2, ++ 和 -- 稱為一元運算符,即只針對一個變量進行運算

3, 但 ++ 和 – 可以在表達式(比如賦值語句)中使用,則類似同時進行了2件事:自加(或自減)和表達式本身的計算,此時他們放在變量的前面和后面有不同含義。

a) var i = 1; var s1 = i++; //結果是:s1為1,i為2

b) var i = 1; var s2 = ++i; //結果是:s2為2,i為2

比較運算符:> >= < <= == != === !==

比較運算符用于數據的大小比較,通常是數字。其中值得注意的是:

==被稱為“模糊相等”,即數據的內容或經過轉換后的內容相等,就認為是相等。

===稱為“嚴格相等”,只有數據的類型和數據的內容都相等的時候才算是相等。

——從計算機的角度來說,一個數據具有兩個方面:數據類型和數據值(數據內容)

邏輯運算符:只用于對bool值進行運算。

邏輯與( && ):兩個數據只有都是true的時候,結果才是true

邏輯或( || ):兩個數據只要有一個是true,結果就是true

邏輯非( ! ):獲取一個bool值的“相反值”

字符串運算符:

只有一個連接運算符( + ): 含義是“連接兩個字符串”

辨析算術運算符的加法( + ):

此加號( + )兩個的數據只要有一個是字符串,則都會按字符串的“連接”含義進行運算,另一如果不是字符串,則會自動轉換為字符串后再進行連接運算。

位運算符:

位運算符只針對數字的二進制形式進行。

var v1 = 5; //這是10進制,二進制其實是:101,在計算機內部其實類似這樣: 00000101

var v2 = 6; //這是10進制,二進制其實是:110,在計算機內部其實類似這樣: 00000110

按位與:

符號: &

含義:將兩個二進制數字的對應位上的數字進行“與運算”,結果還是這些位運算的結果組成的二進制數所代表的值。

解釋:二進制數字進行“與運算”的規則是:

1 & 1 è 1

1 & 0 è 0

0 & 1 è 0

0 & 0 è 0

舉例:

var v1 = 5, v2 = 6,運算圖示為:

v1=5

0

0

0

0

0

1

0

1

v2=6

0

0

0

0

0

1

1

0

v1 & v2

0

0

0

0

0

1

0

0

var v3 = v1 & v2 = 00000100(2) = 4(10)

按位或:

符號: |

含義:將兩個二進制數字的對應位上的數字進行“或運算”,結果是這些位運算的結果組成的二進制數所代表的值。

解釋:二進制數字進行“或運算”的規則是:

1 | 1 è 1

1 | 0 è 1

0 | 1 è 1

0 | 0 è 0

按位非:

符號: ~ //這是一個“單目運算符”

含義:將一個二進制數字的對應位上的數字進行“非運算”,結果是這些二進制數字所代表的值。

解釋:二進制數字進行“非運算”的規則是:

~1 è 0

~0 è 1

按位左移運算:

符號: <<

含義: 將一個二進制數的每一個位上的數字往左邊移動指定的位數,并且左邊“冒”出去的就不管了(不算了),右邊空出來的位上填入“0”,得到的結果就是該二進制數字所代表的值。

舉例:

var v1 = 5;var v2 = 5 << 2; 運算圖示為:

v1=5

0

0

0

0

0

1

0

1

v2= 5 << 2

0

0

0

1

0

1

0

0

var v2 = 5 << 2 = 00010100(2) = 1 * 24 + 1*22 = 16+4 = 20(10)

按位左移運算:

符號: >>

含義: 將一個二進制數的每一個位上的數字往右邊移動指定的位數,并且右邊“冒”出去的就不管了(不算了),左邊空出來的位上填入原來的左邊的數字,得到的結果就是該二進制數字所代表的值。

舉例:

var v1 = 5;var v2 = 5 >> 2; 運算圖示為:

v1=5

0

0

0

0

0

1

0

1

v2= 5 >> 2

0

0

0

0

0

0

0

1

var v2 = 5 >> 2 = 00000001(2) = 1(10)

運算符其他內容:

賦值運算符:其實就一個基本的賦值運算符: = ,其含義是將等號右邊的數據放到等號左邊的變量中去。

錯誤的語法:

var v1 = 1, v2 = 2, v3 = 5, v4 = -2;

v1 + v2 = v3 + v4; //錯,大錯,大錯特錯

復合賦值運算符: += -= *= /= %=

運算符的優先級 —— 太多,較為復雜,記不住,但請記住一下幾條規則:

1, 要心如明鏡:運算符有優先級(先后順序)問題。

2, 括號最優先,等號(賦值)最落后。

3, 先乘除后加減

4, 想不清楚或用不明白的,使用括號來解決

5, 括號只有小括號,可以一層層嵌套。

舉例:

var year = 2013;

//判斷閏年:一個年份能被4整除并且不能被100整除是閏年,或者能被400整除,也是閏年。

if ( ( (year % 4 == 0) && (year % 100 != 0) ) || (year % 400 == 0) )

{ documment.write( year + “是閏年”) ;}

數據的傳值方式:

var v1 = 10;

var v2 = v1; //將v1中值拷貝一份,放到v2這個變量中去了——此時也可以說成“將v1的值傳遞給v2”

var v1 = v1 + v1; //v1的值改變了,但并不影響v2——因為v2本身也是一個獨立的變量。

document.write("<br />v1=" + v1); //20

document.write("<br />v2=" + v2); //10, 不會,40,

上述“v2 = v1”就稱為“拷貝傳值”——取得v1的值并拷貝一份,然后賦值給v2

var v3 = {name:"小花", age:18, edu:"大學" }; //這是一個所謂“對象”類型——其中包括了3個數據。

//操作其中的數據類似這樣:

document.write("<br />v3這個對象的年齡為:" + v3.age);

v3.age = 19; //v3這個對象的age這項數據的值重復賦了一個新值,類似前面v1 = 20;

var v4 = v3; //此時,是將v3這個變量的“內存地址”傳遞給v4這個變量,而v3這個對象的數據本身其實只是由該地址來獲取。——這就叫做引用傳值——此時,其實這兩個變量是一樣的數據內容,類似一個人的多個名字:真名,藝名,網名,小名

document.write("<br />v4這個對象的年齡為:" + v4.age);

v3.age = 20; //

document.write("<br />此時,v4這個對象的年齡為:" + v4.age);

總結:

在js中,基本數據類型使用 “拷貝傳值”——傳值的時候直接就出現了一份新的數據(當然同時也是另一個變量所代表)

復合數據類型(數組和對象)使用“引用傳值”——傳值的時候只是做了一個地址指向,數據仍然只有一份,兩個變量就指向這同一份數據。

if分支結構:

控制結構:就是使用一定的語法來控制我們程序執行的流程——也可以叫“流程控制結構”

分支就是“多條路徑,走一條”。

最簡形式

//如果此條件滿足(即條件判斷的結果是tr

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 铜川市| 勃利县| 定安县| 通城县| 奉节县| 蓬莱市| 仲巴县| 光山县| 于都县| 岑溪市| 赤水市| 长宁区| 郸城县| 双峰县| 马尔康县| 大同市| 松滋市| 沈丘县| 鄂托克前旗| 电白县| 绵竹市| 辽源市| 和政县| 天全县| 杭锦后旗| 桃园市| 芒康县| 同江市| 太康县| 阳曲县| 新沂市| 普宁市| 徐水县| 辽宁省| 固阳县| 和政县| 长岛县| 周宁县| 泰安市| 元氏县| 石泉县|