亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

帶領大家學習javascript基礎篇(一)之基本概念

2019-11-20 11:11:17
字體:
來源:轉載
供稿:網友

學習目錄

一、數據類型

數據類型

二、操作符

遞增和遞減操作符:

位操作符:
布爾操作符:
加性操作符:
相等操作符

三、語句
for-in語句
label語句

一、數據類型

數據類型

基本數據類型(五種)

Undefined
Null
Boolean
Number
String

復雜數據類型(一種)

Object
Undefined:只有一個值undefined(定義了沒有賦值)。

例:

 

注意:如果沒有用var申明,直接使用會報異常( ... is not defined)。

建議:每次var聲明都賦初始值,可以減少很多意外情況。

如:

 

Null:略

Boolean:只有兩個字面值: true 和 false。

任何數據類型通過Boolean()函數都可以轉成Boolean類型。

String:非空字符=>true     空字符=>false
Number:任何非零=>true   0和NaN=>false
Object:任何對象=>true      null=>false
Undefined                        undefined=>false

如:

 

既然如此,我們在使用if語句的時候會自動執行相應的 Boolean 轉換。

if (str) {  //str只要是非空字符、任何非零數字、任何非null對象 都是true  //str只要是空字符、0、NaN、null、undefined 都是false  //這樣就省去了 我們一個個的判斷了  alert("true");}

 String:略

二、操作符

遞增和遞減操作符:

【++num、--num、num++、num--】

 

都是4,好像看不出有什么不同。

 

好,區別來了。一個任然是4,一個變成了5。為什么會這樣呢?優先級不同而已,age++先執行運算符+然后在自身加1,++age先自身加1然后再通過+運算符加1。

位操作符:

【按位非NOT(~)、按位與AND(&)、按位或OR(|)、按位異或XOR(^)、左移(<<)、有符號的右移(>>)、無符號右移(>>>)】
其實平時我們很少用到,這里稍作了解。

例:按位非

var num1 = 25; // 二進制 00000000000000000000000000011001
var num2 = ~num1; // 二進制 11111111111111111111111111100110
alert(num2); // -26

例:按位與

var result = 25 & 3;alert(result); //1//*********************25 = 0000 0000 0000 0000 0000 0000 0001 10013 = 0000 0000 0000 0000 0000 0000 0000 0011---------------------------------------------AND = 0000 0000 0000 0000 0000 0000 0000 0001 

例:按位異或

var result = 25 ^ 3;alert(result); //26//*************25 = 0000 0000 0000 0000 0000 0000 0001 10013 = 0000 0000 0000 0000 0000 0000 0000 0011---------------------------------------------XOR = 0000 0000 0000 0000 0000 0000 0001 1010 //十進制值 26

 例:左移

var oldValue = 2; // 等于二進制的 10var newValue = oldValue << 5; // 等于二進制的 1000000,十進制的 64

例:有符號右移

var oldValue = 64; // 等于二進制的 1000000var newValue = oldValue >> 5; // 等于二進制的 10 ,即十進制的 2 

例:無符號右移(這個差異有點大,因為第32為1代表負數的值也移過來了)

var oldValue = -64; // 等于二進制的 11111111111111111111111111000000var newValue = oldValue >>> 5; // 00000111111111111111111111111110 等于十進制的 134217726

布爾操作符:

【邏輯非(!)、邏輯與(&&)、邏輯或(||)】

這里需要說的就是&&和||是短路操作。||如果前面一個滿足條件了就不檢測后面的條件了,&&相反前面一個不滿足條件就不檢測后面的條件了。

例:

var age = 3;if(age||aaa){//這里的age轉Boolean為ture,所以后面的aaa就不檢測了。alert(age);}if(aaa||age){//這里將會報錯alert(age);}

測試:

 

這里可以告訴大家一個小小的技巧,很多時候我們并不知道某個變量是否有值,但是我們又需要正常使用,那么我們可以給個備胎。

如:瀏覽器的兼容問題,在舊式瀏覽器中是用window.event來取事件的相關屬性值,新式瀏覽器中是直接通過形參的形式傳過來的。我們就可以。

function myonclick(ev) {  var myevent = ev || window.event;//這樣就可以保證新舊瀏覽器的兼容了}

實驗:  

 

加性操作符:

【加法(+)、減法(-)】

這個再熟悉不過了,不過還是有一點需要注意。

var strnum1 = "5";var num2 = strnum1 + 3;var num3 = strnum1 - 3;alert("num2="+num2+" num3="+num3);//這里會是什么結果呢?

讓我們來測試一下吧。

 

為什么會這樣?字符串和數字相加,數字會轉為字符串。字符串和數字相減,字符串轉為數字。

相等操作符

奇怪吧,字符串怎么和數字相等。是的,這里用到了自動轉型。但是,我們不想看到這樣的結果怎么辦?

 

是的,我們可以用===全等于。不僅比較數值,還比較類型。

三、語句

for-in語句

for循環語句用得多,for-in可能平時就用的較少了。(for-in循環應該用在非數組對象的遍歷上,使用for-in進行循環也被稱為“枚舉”。)

例:

 

label語句

感覺和C#中的goto很像,但又不一樣。

我們平時有沒有過在多個循環嵌套里面想跳出第二層循環?一般我們只能用break或者continue跳出最里面的循環,或者return跳出整個函數。萬萬沒想到的是,還有一個label語句,可以跳出任意層循環。
例:

 

 好了,第一篇差不多就整理到這里了。最后出幾個有趣的題目給大家。

一、為什么 1=0.9999999999……
二、為什么 alert(0.1 + 0.2)//0.30000000000000004
三、為什么 alert(0123 + 4)//87

四、

var obj1 = {}; obj1.name2 = "張三";
var str1 = "test"; str1.name2 = "李四";
alert(obj1.name2 + " " + str1.name2);
//彈出值是什么

五、

var obj1 = { name2: "111" };
var obj2 = obj1;
obj1.name2 = "222";
alert(obj2.name2);//這里彈出什么?
obj1 = { name2: "333" };
alert(obj2.name2);//這里彈出什么?

六、

 var fun = function (num1) {
     if (num1 <= 1) {
         return 1;
     }
     else {
         return num1 * fun(num1 - 1);
     }
 }
 var fun2 = fun;
 fun = function () {
     return 1;
 }
 alert(fun2(5));//這里彈出什么?

還有點時間在給大家介紹 JavaScript基本數據類型

  JavaScript的基本數據類型包括6種:number/string/boolean/object/function/undefined。

  2.1 number類型

  number類型用來存儲數值,它描述的是64位的浮點型數值。但Javascript并不能表示0-2e64之間的所有數值,因為它還需要表示非整數,包括復數、分數等。對于64位來說,需要使用11位來存儲數字的小數部分,使用1位來表示正負,所以JavaScript實際上可以表示-2e52到2e52之間的值。

  2.2 string類型

  string類型用來表示文本,可以使用單引號或者雙引號來包括文本,任何放在引號內的符號,都會被認為是string,但對于特殊符號,可能需要轉義處理。

  2.3 boolean類型

  boolean類型只包括兩個值:true和false。我們可以在程序中使用各種boolean表達式來得到true或者false,從而實現不同的業務分支處理。

  我們可以在表達式中包含多個條件,條件之間可以是與或非的關系,在計算時,優先級如下:||的優先級最低,其次是&&,然后是比較運算符,最后是其他運算符(例如!)。

  和其他許多語言一樣,對于&&來說,當前面的條件為false時,后面的條件不再計算,對于||來說,當前面的條件為true時,后面的條件不再計算。

  來看下面的例子:

function conditionTest(){   var a = ;   var b = ;   var c = {"key":"old"};   print(c["key"]);   if (a==) print("a = ");   if (a== && b==) print("a == && b == ");   if (a== || changeValue(c)) print(c["key"]);   if (a== && changeValue(c)) print(c["key"]); } function changeValue(obj){   obj["key"] = "changed";   return true; }

  它的輸出結果如下:

olda = 1a == 1 && b == 1oldchanged

  可以看出,在使用||時,沒有調用changeValue方法。

  2.4 undefined類型

  當我們聲明了一個變量,但是沒有對其賦值時,它就是undefined的,就像下面這樣

 var b;
 print(b);

  在Javascript中,還有一個和undefined類似的值:null。undefined表示“變量已聲明但是沒有復制”,null表示“變量已賦值但為空”,需要注意的是undefined==null的值為true。

  2.5 類型轉換

  我們在上面提到了undefined == null的值是true,但我們使用typeof操作時可以發現,null是object類型,這說明在比較的過程中,發生了類型轉換。

  類型轉換是指將一種類型的值轉換成另外一種類型的值。我們使用==進行比較時,會有類型轉換,我們可以使用===來禁止類型轉換。

  來看下面的例子:

function convertTypeTest(){   var a = ;   var b = "";   print ("a:" + a);   print ("b:" + b);   print ("type of a:" + typeof a);   print ("type of b:" + typeof b);   print ("a==b:" + (a == b));   print ("a===b:" + (a === b));   print ("a===Number(b):" + (a === Number(b)));   print ("String(a)===b:" + (String(a) === b));   print ("type of undefined:" + typeof undefined);   print ("type of null:" + typeof null);   print ("undefined==null:" + (undefined == null));   print ("undefined===null:" + (undefined === null)); }

  輸出結果如下:

a:1b:1type of a:numbertype of b:stringa==b:truea===b:falsea===Number(b):trueString(a)===b:truetype of undefined:undefinedtype of null:objectundefined==null:trueundefined===null:false

可以很明顯看到==和===的區別。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩在线中文视频| 欧美专区在线视频| 亚洲人成自拍网站| 国产xxx69麻豆国语对白| 国产中文字幕日韩| 久久久久久高潮国产精品视| 精品国产自在精品国产浪潮| 国产成人精品国内自产拍免费看| 91久久精品在线| 亚洲欧美一区二区三区情侣bbw| 国产小视频91| 一区二区在线免费视频| 少妇av一区二区三区| 成人xvideos免费视频| 亚洲成色777777在线观看影院| 欧美成人高清视频| 91精品在线观看视频| 亚洲日本欧美日韩高观看| 国产精品免费看久久久香蕉| 国产精品久久久久99| 欧美性受xxxx黑人猛交| 久久中文精品视频| 国产精品人人做人人爽| 欧美专区国产专区| 亚洲精品国产品国语在线| 日韩精品免费视频| 久久久久久久网站| 亚洲欧美日韩成人| 国产亚洲一区二区精品| 中文国产成人精品| 97超级碰在线看视频免费在线看| 亚洲国产成人av在线| 欧美电影免费观看电视剧大全| 欧美性69xxxx肥| 亚洲第一天堂无码专区| 在线看片第一页欧美| 川上优av一区二区线观看| 亚洲欧美国产制服动漫| 精品欧美aⅴ在线网站| 日韩av中文字幕在线免费观看| 国产欧美日韩丝袜精品一区| 精品香蕉一区二区三区| 日韩成人av在线播放| 成人在线中文字幕| 亚洲激情免费观看| 亚洲精品永久免费精品| 亚洲另类图片色| 久久高清视频免费| 日韩美女在线观看| 亚洲精美色品网站| 91精品国产91久久久久福利| 日韩av高清不卡| 国产区精品视频| 国产精品普通话| 日韩视频免费观看| 国产精品成人播放| 日韩美女视频中文字幕| 亚洲国产成人精品久久久国产成人一区| 欧美视频一二三| 精品国产欧美一区二区三区成人| 欧美激情欧美激情在线五月| 亚洲精品一区二区网址| 欧美日韩国产色| 热久久99这里有精品| 国产精品69精品一区二区三区| 成人a级免费视频| 亚洲欧美成人在线| 成人在线观看视频网站| 91综合免费在线| yellow中文字幕久久| www日韩中文字幕在线看| 国产成人综合精品| 欧美大尺度在线观看| 欧美性色xo影院| 亚洲偷欧美偷国内偷| 91在线看www| 欧美视频国产精品| 国产精品91在线观看| 国产精品成人一区| 欧美性猛交xxxx免费看| 青青草原一区二区| 欧美精品videosex极品1| 中日韩美女免费视频网址在线观看| 这里只有精品在线播放| 亚洲成人1234| 久久精品视频在线| 亚洲精品国精品久久99热一| 成人福利视频在线观看| 超碰精品一区二区三区乱码| 日韩av毛片网| 2018中文字幕一区二区三区| 欧美午夜片在线免费观看| 国产精品夜间视频香蕉| 亚洲男人天堂久| 不用播放器成人网| 日韩欧美在线第一页| 亚洲精品电影久久久| 中文字幕少妇一区二区三区| 欧美精品九九久久| 亚洲美女在线视频| 欧洲美女免费图片一区| 日韩中文字在线| 亚洲女人被黑人巨大进入al| 亚洲电影免费观看| 久久久久一本一区二区青青蜜月| 亚洲欧美在线一区二区| 欧美三级欧美成人高清www| 视频一区视频二区国产精品| 欧美性猛交xxxx偷拍洗澡| 亚洲电影免费观看高清完整版| 日韩精品亚洲视频| 国产精品精品久久久久久| 国产精品香蕉在线观看| 亚洲系列中文字幕| 久久精品视频一| 日韩中文字幕在线视频播放| 国产精品久久久久av免费| 日韩电视剧在线观看免费网站| 久久精品国产99国产精品澳门| 欧美床上激情在线观看| 91在线精品视频| 最新国产精品亚洲| 欧美日韩一区二区三区在线免费观看| 久久亚洲综合国产精品99麻豆精品福利| 久久精品一区中文字幕| 久久久女人电视剧免费播放下载| 国产视频精品自拍| 午夜精品久久久久久99热| 亚洲欧美日本伦理| 欧美性猛交xxxx富婆| 日本国产欧美一区二区三区| 午夜免费在线观看精品视频| 亚洲xxxx在线| 欧美国产第一页| 国产亚洲精品综合一区91| 久久久精品久久久久| 另类视频在线观看| 97超级碰碰人国产在线观看| 亚洲香蕉成视频在线观看| 亚州成人av在线| 日韩成人在线网站| 久久精品在线视频| 91精品国产91久久久久| 38少妇精品导航| 亚洲美女av电影| 久久久久成人精品| 一区二区三欧美| 91久久综合亚洲鲁鲁五月天| 国产精品自拍视频| 国产成人精品优优av| 成人日韩av在线| 亚洲第一av在线| 亚洲毛茸茸少妇高潮呻吟| 91国语精品自产拍在线观看性色| 欧美日韩aaaa| 日韩电影大全免费观看2023年上| 少妇av一区二区三区| 国产三级精品网站| 精品国内亚洲在观看18黄| 2018日韩中文字幕| 久久久久久九九九| 日韩av中文字幕在线免费观看| 亚洲精品电影网| 日韩在线视频网|