javascript學(xué)習(xí)筆記_淺談基礎(chǔ)語法,類型,變量
基礎(chǔ)語法、類型、變量
非數(shù)字值的判斷方法:(因為Infinity和NaN他們不等于任何值,包括自身)
1、用x != x ,當(dāng)x為NaN時才返回true;
2、用isNaN(x) ,當(dāng)x為NaN或非數(shù)字值時,返回true;
3、用isFinity(x),在x不是NaN、Infinity、-Infinity時返回true;
雖然(字符串、數(shù)字、布爾值)不是對象,他們的屬性是只讀的,但也可以像操作對象一樣來引用他們的屬性和方法,原理:
javascript構(gòu)造一個(String、Number、Boolean)的臨時對象(稱為包裝對象),然后通過這個臨時對象來調(diào)用它的屬性和方法,這些屬性、方法改變的只是這個臨時對象,隨后這個臨時對象會被銷毀,所做的改變不影響原數(shù)據(jù);
可以顯式的構(gòu)造一個包裝對象,它的值和原數(shù)據(jù)相等 ‘==',但類型不同 ‘==='
數(shù)字a 轉(zhuǎn) 字符串:
a.toString(n) //n表示進制
a.toFixed(i) a.toExponential(i) a.toPrecision(j) //i為小數(shù)位數(shù),j為要顯示位數(shù)
字符串s 轉(zhuǎn) 十進制數(shù)字:(忽略前置的空格,盡可能多的轉(zhuǎn)換數(shù)字,忽略后面的非數(shù)字內(nèi)容,其中'0X'、'0x'開頭的則把它當(dāng)著16進制數(shù)來轉(zhuǎn)換)
parseInt(s,[n]) //n表示進制,可選參數(shù),把s當(dāng)著n進制數(shù)來轉(zhuǎn)為十進制數(shù)
parseFloat(s,[n])
對象 自動轉(zhuǎn) 字符串步驟:
1.若有toString()方法,且它能返回原始值,則調(diào)用它,將返回的原始值轉(zhuǎn)字符串;
2.若第一步無效,則調(diào)用valueOf(),將返回的原始值轉(zhuǎn)字符串;
3.前兩不均無效,則拋出類型錯誤異常;
對象 自動轉(zhuǎn) 數(shù)字步驟:
1.若有valueOf(),則調(diào)用它,將返回的原始值轉(zhuǎn)數(shù)字,可返回這個數(shù)字;
2.若1無效,則嘗試調(diào)用toString(),將返回的原始值轉(zhuǎn)數(shù)字并返回該數(shù)字;
3.若1、2均無效,則拋出類型錯誤異常;
Date對象是個例外
變量聲明提前:
調(diào)用未聲明的變量,編譯時會把變量的聲明部分提前,而把初始化部分留在原地;
(重復(fù)聲明的變量,局部的將覆蓋外部的)
var s1 = 'ggggg'; function f() { console.log(s1); //s1 == undefined var s1 = 'cccccc'; console.log(s1); //s1 == 'cccccc' }
位運算:& | ^ ~
&:按位與,對左右兩個整型操作數(shù)執(zhí)行AND操作,僅當(dāng)對應(yīng)位都為1時,結(jié)果為1;
|:按位或,對應(yīng)位有一個為1,則結(jié)果為1;
^:按位異或,對應(yīng)位一樣則為0,不一樣則為1;
~:按位取反,一元運算符,所有位取反,相當(dāng)于改變符號并減1;
(n是0~31之間)
<<n:所有位左移n位,即將值乘以2的n次方,舍棄最左n位,用0來補充右邊n位;
>>n:所有位右移n位,忽略右邊溢出位,填補左邊位有原操作數(shù)決定,結(jié)果相當(dāng)于除2的n次方,舍棄余數(shù),7>>1=3 , -7>>1=-4
<<<n:同<<,只是用0來填補左邊位
字符串之間的比較大?。?/strong>
JavaScript字符串是一個由16位整數(shù)值組成的字符系列,字符串的比較的是它們的字符的數(shù)值,大小寫的字符的數(shù)值不同;
比較運算符偏愛數(shù)字,只要有一個操作數(shù)為數(shù)字,就做數(shù)字運算,只有當(dāng)兩個都為字符串時,才做字符串比較
而‘+'運算符則偏愛字符串,只要有一個操作數(shù)為字符串,就做字符串連接運算
x in p
檢查對象p內(nèi)是否存在屬性x,包括方法
a instanceof A
檢查對象a是否是類A的一個實例,包含對其父類的檢測
假值:false、 null、 undefined、 0 、-0 、NaN ""
真值:除了以上的值,其他值均為真值;
對象:除了字符串、數(shù)字、true、false、null、undefined之外,其他值都是對象!
以上就是小編為大家?guī)淼膉avascript學(xué)習(xí)筆記_淺談基礎(chǔ)語法,類型,變量的全部內(nèi)容了,希望對大家有所幫助,多多支持腳本之家~
相關(guān)文章
javascript正則匹配漢字、數(shù)字、字母、下劃線
javascript正則檢測只含有漢字、數(shù)字、字母、下劃線不能以下劃線開頭和結(jié)尾,需要的朋友可以參考下2014-04-04javascript函數(shù)中的arguments參數(shù)
arguments當(dāng)然只在function體內(nèi)才有意義, arguments.length 返回的是傳入function的實參個數(shù)2010-08-08Mobile Web開發(fā)基礎(chǔ)之四--處理手機設(shè)備的橫豎屏問題
這篇文章主要介紹了Mobile Web開發(fā)基礎(chǔ)之-—處理手機設(shè)備的橫豎屏,window.orientation屬性與onorientationchange事件以及media query方式是開發(fā)過程中需要注意到的兩種解決方式,需要的朋友可以參考下2017-08-08javascript Window及document對象詳細整理
注:頁面上元素name屬性以及JavaScript引用的名稱必須一致包括大小寫否則會提示你1個錯誤信息 引用的元素為空或者不是對象2011-01-01