JS基礎知識

數(shù)據(jù)類型

檢測數(shù)據(jù)類型 --- typeof 數(shù)據(jù)

數(shù)據(jù)類型:number(數(shù)字/NaN) 偷卧、 string(字符) 溉苛、 bollean(布爾) 搞隐、 object(對象 / null) 讼庇、 underfined(沒定義) 姻采、 function

數(shù)據(jù)類型分2大類:基本(不可分) -- number / string / boolean / underfined 崇堵、復合(可分) -- object? / function

-------

類型轉換

parseInt(數(shù)據(jù)) --> 整數(shù)

-轉換失敗 返回 NaN

-NaN的數(shù)據(jù)類型是number

NaN加上任何數(shù)都等于NaN

NaN不等于任何數(shù)型诚,包括他自己

NaN == 非法數(shù)字

isNaN(數(shù)據(jù)) --> 判斷數(shù)據(jù)是不是非法數(shù)字 返 true / false

a.顯示轉換

-parseInt

1.干掉小數(shù),字符 --> 整數(shù)

2.從左到右找能轉的轉

3.忽略字符的前導0鸳劳,后導0

4.做進制轉換 --> 10

-parseFloat

1.轉小數(shù)

2.同上

-Number

1.轉數(shù)

2.嚴格型轉換(先看一下有不能轉的就返回NaN)

b.隱式轉換(Number)

-? *? /? ==

' ' + 數(shù)字 -->? '110'? 數(shù)字到字符

注意: === 不隱轉

-------

取反? ? !數(shù)據(jù)(數(shù)字狰贯、字符、布爾) -- 把狀態(tài)顛倒

-------

字符的方法

strObj.charAt(下標)? ? ? ? ? 給:下標? ? ? 返:字符/null

strObj.indexOf(字符)? ? ? ? 給:字符? ? ? 返:下標/-1(-->)

strObj.lastIndexOf(字符)? 給:字符? ? ? 返:下標/-1(<--)

strObj.substring(開始位置赏廓,結束位置)? ? 不包含結束位置涵紊,只有開始位置就默認從開始位置-結尾

strObj.split(規(guī)則) 切割? ? ? 給:規(guī)則? ? ? 返:數(shù)組(找不到規(guī)則返回數(shù)組長度1就本身)

規(guī)則--在字符里找

strObj.toLowerCase()? ? ? ? 小寫

strObj.toUpperCase()? ? ? ? 大寫

*** 字符一旦創(chuàng)建無法修改,除非銷毀

例子:判斷瀏覽器幔摸、判斷文件后綴

a.判斷瀏覽器

Chrome(谷歌) /? Firefox(火狐) / rv:11 or MSIE7-10(IE)

if(window.navigator.userAgent.indexOf('Chrome')!=-1){alert("谷歌")}

b.判斷文件后綴名

var file = "xxx.png";

document.write(file.substring(file.lastIndexOf(".")+1,file.length));

-------

數(shù)組

var arr = [] / new Array()

arr.length=0;? //清空數(shù)組 獨有

數(shù)組內最好放相同數(shù)據(jù)

數(shù)組方法

修改原數(shù)組:arrObj.push(數(shù)據(jù))? 返回-數(shù)組長度

arrObj.pop()? ? 返回-刪除的數(shù)據(jù)/underfind

arrObj.unshift(數(shù)據(jù))? ? 返回-數(shù)組長度

arrObj.shift()? ? 返回-刪除的數(shù)據(jù)/underfind

arrObj.splice(其實位置摸柄,要刪除的個數(shù),要插入的元素)

arrObj.join(規(guī)則) --- 規(guī)則自個發(fā)明

arrObj.reverse()? 反轉數(shù)組

arrObj.sort(n1,n2){return n1-n2}? 排序

不會修改原數(shù)組:arr1.concat(arr2) 連接數(shù)組? 返回-新數(shù)組

-------

JSON

理解:給變量打了個包既忆,屬性和值配對兒驱负,鍵值對兒

*** 屬性都是字符

json沒有l(wèi)ength

循環(huán)json? 用 for in(枚舉)

數(shù)據(jù)解析? string: "{}"? "[]"

a. substring --> split --> for in

b. eval("("+str+")")

c. JSON.parse(str)? ? json-->string

d. JSON.stringify(json)? string-->json

-------

Function

參數(shù):個數(shù) 沒有限制

參數(shù)和變量一樣沒有數(shù)據(jù)類型

函數(shù)定義在哪里不重要 重要的是在哪里執(zhí)行嗦玖!

***變量的值以調用為準

返回值:函數(shù)可以返回一個東西(沒有類型)!

-function 函數(shù)名 (參數(shù)列表){return 值跃脊;}

-注意:函數(shù)沒有執(zhí)行一次都會復制一份宇挫!

-特性:a.返回值沒有明確類型

b.return 后面的代碼不執(zhí)行

c.return;? 返回一個underfined

d.沒有return 默認會返回一個 underfined

e.只有函數(shù)才有返回值

封閉空間閉包 自執(zhí)行函數(shù)

-( function( index ){ js代碼 } )( i );

-原理:函數(shù)每執(zhí)行一次都會復制一份,包括里面參數(shù)酪术!

-好處:省了一個函數(shù)名器瘪、防止重名、解決i的問題(事件里面的i 定時器的i)

-------

underfined:

1.定義了沒有賦值 var a;

2.真的沒有定義 typeof a;

3.訪問一個不存在的屬性? aBtn[i].index;

4.沒有明確的返回值;

5.使用一個underfined;

-------

日期對象

var d = new Date();? ? 創(chuàng)建日期對象绘雁,取的是系統(tǒng)時間

d.getFullYear();? number 年

d.getMonth();? 月? 月從0開始算

d.getMonth()+1;? 為了顯示正確

d.getDate();? 日

d.getHours();? 小時 24小時制

d.getMinutes();? 分鐘

d.getSeconds();? ? 秒

d.getMilliseconds();? 毫秒

d.getDaty()? 星期? 星期天==0

d.setFullYear(年橡疼,月,日)

d.setHours(小時庐舟,分衰齐,秒,毫秒)

d.getTime()? 返回 時間戳(number)

***設置日期是继阻,時間會順忒

獲取本月有多少天:月+1耻涛,日設0,取日

d.setMonth(d.getMonth()+1)

d.setDate(0)

-------

定時器

setInterval(函數(shù)瘟檩,多少時間走一次)? -- 永遠執(zhí)行

setTimeout(函數(shù)抹缕,多少時間后執(zhí)行)? --只執(zhí)行一次

開定時器? var timer = setInterval(fn,time) / var timer = setTimeout(fn,time)

關定時器? clearInterval(timer) / clearTimeout(timer)

***定時器在開之前,先關一下

-------

Math

Math.random()? 0-1 包括0 但不包括1

Math.ceil(數(shù)據(jù))向上墨辛,大卓研,右

Math.floor(數(shù)據(jù))? 向下,小睹簇,左

Math.round(數(shù)據(jù))? 4小舍5大入

Math.abs(數(shù)據(jù)) 絕對值

Math.sqrt(數(shù)據(jù)) 開平方--負數(shù)不能開平方返NaN

Math.pow(基數(shù)奏赘,冪)? 基數(shù)的冪次方

Math.max/min(數(shù)據(jù))? 最大、最小

-------

select

***option的value不可以省

oSel.value? 返回的是選中的option的value值

oSel.selectedIndex? 返回選中的option的索引

oSel.options[oSel.selectedIndex].text? 返回是選中的option的內容

onchange事件? 當選擇發(fā)生改變--伴隨獲取太惠、失去焦點

new Option(text,value)? 創(chuàng)建option對象

oSel.options.add(oPt)? options才有添加的方法

oSel.options.remove(索引)? 刪除

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末磨淌,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子凿渊,更是在濱河造成了極大的恐慌梁只,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,036評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件埃脏,死亡現(xiàn)場離奇詭異搪锣,居然都是意外死亡,警方通過查閱死者的電腦和手機彩掐,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,046評論 3 395
  • 文/潘曉璐 我一進店門构舟,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人堵幽,你說我怎么就攤上這事狗超〖嗍龋” “怎么了?”我有些...
    開封第一講書人閱讀 164,411評論 0 354
  • 文/不壞的土叔 我叫張陵抡谐,是天一觀的道長。 經(jīng)常有香客問我桐猬,道長麦撵,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,622評論 1 293
  • 正文 為了忘掉前任溃肪,我火速辦了婚禮免胃,結果婚禮上,老公的妹妹穿的比我還像新娘惫撰。我一直安慰自己羔沙,他們只是感情好,可當我...
    茶點故事閱讀 67,661評論 6 392
  • 文/花漫 我一把揭開白布厨钻。 她就那樣靜靜地躺著扼雏,像睡著了一般。 火紅的嫁衣襯著肌膚如雪夯膀。 梳的紋絲不亂的頭發(fā)上诗充,一...
    開封第一講書人閱讀 51,521評論 1 304
  • 那天,我揣著相機與錄音诱建,去河邊找鬼蝴蜓。 笑死,一個胖子當著我的面吹牛俺猿,可吹牛的內容都是我干的茎匠。 我是一名探鬼主播,決...
    沈念sama閱讀 40,288評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼押袍,長吁一口氣:“原來是場噩夢啊……” “哼诵冒!你這毒婦竟也來了?” 一聲冷哼從身側響起谊惭,我...
    開封第一講書人閱讀 39,200評論 0 276
  • 序言:老撾萬榮一對情侶失蹤造烁,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后午笛,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體惭蟋,經(jīng)...
    沈念sama閱讀 45,644評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,837評論 3 336
  • 正文 我和宋清朗相戀三年药磺,在試婚紗的時候發(fā)現(xiàn)自己被綠了告组。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,953評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡癌佩,死狀恐怖木缝,靈堂內的尸體忽然破棺而出便锨,到底是詐尸還是另有隱情,我是刑警寧澤我碟,帶...
    沈念sama閱讀 35,673評論 5 346
  • 正文 年R本政府宣布放案,位于F島的核電站,受9級特大地震影響矫俺,放射性物質發(fā)生泄漏吱殉。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,281評論 3 329
  • 文/蒙蒙 一厘托、第九天 我趴在偏房一處隱蔽的房頂上張望友雳。 院中可真熱鬧,春花似錦铅匹、人聲如沸押赊。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,889評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽流礁。三九已至,卻和暖如春罗丰,著一層夾襖步出監(jiān)牢的瞬間崇棠,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,011評論 1 269
  • 我被黑心中介騙來泰國打工丸卷, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留枕稀,地道東北人。 一個月前我還...
    沈念sama閱讀 48,119評論 3 370
  • 正文 我出身青樓谜嫉,卻偏偏與公主長得像萎坷,于是被迫代替她去往敵國和親胸嘴。 傳聞我的和親對象是個殘疾皇子巢掺,可洞房花燭夜當晚...
    茶點故事閱讀 44,901評論 2 355

推薦閱讀更多精彩內容

  • 一戏挡、比較運算符 1汹桦、 有兩種比較遠算符: == :會自動轉換數(shù)據(jù)類型再進行比較,有時會出現(xiàn)很詭異的結果踏烙。 === ...
    胖胖的立閱讀 244評論 0 0
  • 第5章 引用類型(返回首頁) 本章內容 使用對象 創(chuàng)建并操作數(shù)組 理解基本的JavaScript類型 使用基本類型...
    大學一百閱讀 3,233評論 0 4
  • 四年前我在一個簡陋的要命的教室看完了劉衛(wèi)東發(fā)在《萌芽》里的文章—《開往成都的火車》那時候汇歹,我還沒有坐過火車秋冰,所有的...
    彭彭喜歡Eason閱讀 361評論 0 1
  • 寫在前面 非常感謝Esther老師關于英語學習的分享比原,再一次讓給我們知道了英語重要性插佛,糾正了我們很多錯誤的英語學習...
    新海說閱讀 583評論 1 1
  • 現(xiàn)金流游戲由玩家的總結引出的思考雇寇,十畝荒地究竟是怎樣的投資機會?是否值得投資呢? 如果從機會的角度锨侯,究竟這個500...
    Ella傳送門閱讀 661評論 0 2