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