關(guān)于js中的一些基礎(chǔ)知識

獲取元素

document.getElementById(id);

obj.getElementsByTagName(tagName);

obj.getElementsByClassName(class);

getByClass

obj.getElementsByName(name);

變量

var name=value;

不能是數(shù)字

不能是系統(tǒng)保留名

不能是特殊符號

var _this=this;

var $this=this;

$();

show();

函數(shù)

function (){} 匿名函數(shù)

function show(){} 命名函數(shù)

找不到賦值對象默認(rèn)都是window

流程控制語句

if(條件){

語句

}else{

語句

}

if(條件){

語句

}else if(條件){

語句

}

if(條件){

語句

}else if(條件){

語句

}else{

語句

}

if(){}

條件?語句1:語句2;

條件&&語句1;

if()

switch(值){

case :

語句

break;

case :

語句

break;

case :

語句

break;

default:

break;

}

循環(huán)

for(){} 性能較高

for in 性能較低

while(){}

初始化

條件

語句

自增

for(var i=0; i<5; i++){

alert(i);

}

選項(xiàng)卡

清空所有加上當(dāng)前

非表單元素內(nèi)容

innerHTML

document.write()和innerHTML區(qū)別

innerHTML操作非表單元素

write()操作頁面(清空賦值)

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

typeof

復(fù)合類型

object

基本類型

number string boolean undefined

function

顯示類型轉(zhuǎn)換/強(qiáng)制類型轉(zhuǎn)換

parseInt? 整數(shù)

parseFloat? 浮點(diǎn)數(shù)

Number 數(shù)字 12abc? ×

NaN

屬于數(shù)字類型

是個(gè)標(biāo)志

和誰都不相等

判斷非數(shù)字

isNaN()

隱式類型轉(zhuǎn)換

- * / % -- ++ ==

運(yùn)算符

+ - * / %

+= -+ /= *= %=

邏輯運(yùn)算符

||? &&? !

比較運(yùn)算符

< > == === <= >= != !==

什么是真和假

true 非空字符串 非零數(shù)字 非空對象

false 空字符串 數(shù)字0 null undefined

0==false? 1==true

2==true -> false

作用域

全局 所有函數(shù)以外的變量

window.onload下的變量是局部變量

局部 函數(shù)內(nèi)部的變量

閉包 子函數(shù)可以用父函數(shù)的變量

函數(shù)套一層

關(guān)于js

括號和分號什么時(shí)候加济赎?

括號

定時(shí)器不能用括號

setInterval(fn,time);

事件函數(shù)

function fn(){}

oBtn.onclick=fn;

分號

賦值語句

var a=function (){};

執(zhí)行語句

show();

隨機(jī)數(shù)

Math.random();

獲取計(jì)算過后樣式

getStyle

返回值

掉用的時(shí)候只要結(jié)果需要返回值

只要過程不用返回值

eval

把字符串變成可執(zhí)行語句

問題

注入式攻擊

數(shù)組操作

push() pop() shift() unshift() splice() join() concat()

sort() reverse()

var arr=[1,2,3]; ->[3,1,2]

字符串操作

indexOf() lastIndexOf() substring() split() toUpperCase()

toLowerCase() charAt()

Math對象

Math.random()

Math.abs()

Math.max()

Math.min()

Math.pow()

Math.sqrt()

Math.ceil()

Math.floor()

Math.round()

Date對象

var oDate=new Date();

getFullYear();

getMonth()+1;

getDate();

getDay();

getHours();

getMinutes();

getSeconds();

getMilliseconds();

setFullYear(0,0-1,0);

setFullYear(0,0-1);

setFullYear(0);

setHours(0,0,0,0);

i的問題

封閉空間

自定義屬性

封閉空間

i的問題

變量名沖突

匿名函數(shù)自執(zhí)行

;()();

數(shù)組

var arr=[];

json

var json={};

DOM

obj.tagName

父級.children;

父級.childNodes;

obj.parentNode;

第一個(gè)

firstElementChild||firstChild

children[0]

最后一個(gè)

lastElementChild||lastChild

父級.children[父級.children.length-1]

獲取上一個(gè)兄弟節(jié)點(diǎn)

previousElementSibling||previousSibling

獲取下一個(gè)兄弟節(jié)點(diǎn)

nextElementSibling||nextSibling

創(chuàng)建

document.createElement('tagName');

插入

父級.appendChild(obj);

父級.insertBefore(obj,誰);

刪除

父級.removeChild(obj);

innerHTML問題

未來元素加不上事件

獲取位置

obj.offsetLeft/Top; 定位父級距離

obj.offsetWidth/Height; 盒子模型寬高

obj.offsetParent; 定位父級

絕對位置

getPost

getBoundingClientRect().left/top/right/bottom

事件

onclick

onmouseover

onmouseout

onmousedown

onmousemove

onmouseup

onmouseenter

onmouseleave

onmousewheel

DOMMouseScroll

oncontextmenu

ondblclick

onchange

oninput

onblur

onfocus

onkeydown

onkeyup

onload

onerror

onresize

onscroll

document.documentElement.scrollTop||document.body.scrollTop

document.documentElement.clientHeight/Width

內(nèi)容高度

document.documentElement.scrollHeight/Width

事件對象

ev

var oEvent=ev||event;

事件流

obj.addEventListener('click',fn,false);

false 事件冒泡

true 事件捕獲(事件下沉)

只存在高版本瀏覽器上

obj.attachEvent('onclick',fn);

解釋一下IE事件流和chrome事件流

IE 只存在事件冒泡

chrome? 可以是事件冒泡可以是捕獲(true false)

解除事件綁定

removeEventListener()

用同一個(gè)函數(shù)

detachEvent();

事件源

oEvent.target||oEvent.srcElement

DOMReady();

window.onload所有資源加載完

html css img video audio flash..? js

DOMReady

html css js

cookie

在服務(wù)器環(huán)境下辜御,跟隨服務(wù)器發(fā)送

4K

默認(rèn)會話結(jié)束(關(guān)閉瀏覽器)

name=value 成對出現(xiàn)

name不能重復(fù)

ajax交互服務(wù)器環(huán)境下wamp appservexmapp1.創(chuàng)建if(window.XMLHttpRequest){var oAjax=new XMLHttpRequest();}else{var oAjax=new ActiveXObject('Microsoft.XMLHTTP');}2.鏈接oAjax.open('GET',url,true);oAjax.open('POST',url,true);3.發(fā)送oAjax.send();oAjax.setRequestHeader('Content-Type','appliction/x-www-form-urlencoded');4.接收oAjax.onreadystatechange=function (){if(oAjax.readyState==4){if(oAjax.status==200){成功}else{失敗}}};公司里ajax交互后臺寫好接口供你調(diào)用一起開發(fā)自己造假數(shù)據(jù)jsonpajax可以取本地?cái)?shù)據(jù)但是不能跨域蜂绎,那怎么才能讓ajax跨域取數(shù)據(jù)請使用jsonp跨域解釋下jsonp原理利用script src特性去其他服務(wù)器上拿js文件用其他的服務(wù)器上的腳本百度https://sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su?wd=abc&cb=show搜狗https://www.sogou.com/suggnew/ajajjson?key=abc&type=web中搜http://tip.zhongsou.com/ctip?callback=show&w=abc------------------------------------------------------------jquery 庫1.7.21.8.21.9.2選擇器id class tagName * 嵌套 群組d(iv,p)偽類firstlastoddevenltgteqhascontains屬性input[type=button]div[index=1]方法showhideanimateeqindexaddClassremoveClassfideInfideOutslideDownslideUpstop事件clicktoggle(fn,fn,.....)mouseovermouseouthover(fn,fn);jq中沒有mousewheelDOM創(chuàng)建$('

abc

')插入appendTo 內(nèi)部后面prependTo內(nèi)部前面insertAfter 外部后臺insertBefore外部前面刪除$(obj).remove();$(obj).width()/height(); 純寬高$(obj).innerWidth()/innerHeight()寬高+padding$(obj).outerWidth()/outerHeight()盒子模型寬高$(obj).offset().left/top; 絕對位置$(obj).position().left/top; 到定位父級$(window).width()/height() 可視區(qū)插件$.fn.xxx=function (){}$.fn.extend={xxx:function (){},xxx:function (){}};循環(huán)$(arr).each(function (index,element){});$.each('arr',function (index,element){});jq轉(zhuǎn)原生$('div').get(0).style.background='red';原生轉(zhuǎn)jqvar oDiv=document.getElementById('div1');$(oDiv).css({});事件綁定on 加綁定off 解除綁定function fn(){}$('input').on('click',fn);$('input').off('click',fn);事件委托$('ul').on('click','li',function (){});jq里面事件冒泡阻止默認(rèn)事件return false;jq里面ev是兼容的ev.keyCode----------------------------------------正則正則表達(dá)式 規(guī)則表達(dá)式Regular Expression操作字符串更簡單效率高性能高轉(zhuǎn)義\\n\t 制表符\\b 元字符? 占位符\w\d\s\W\D\S? {0,1}+ {1,}* {0,}選項(xiàng)img 忽略大小寫叨叙,多行模式,全局比較重要的任選一個(gè)a[abc]caacabcacca[ab+]caacabca[(ab)+]caacabc排除[^a-z] [^0-9]范圍[a-z][0-9][A-Z][14-79] 1,4,5,6,7,9匹配match數(shù)組測試test布爾值搜索search數(shù)字 索引值--------------------------------------分治冒泡快速歸并選擇二叉樹散列 哈希

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末赂毯,一起剝皮案震驚了整個(gè)濱河市懂算,隨后出現(xiàn)的幾起案子策严,更是在濱河造成了極大的恐慌顶燕,老刑警劉巖凑保,帶你破解...
    沈念sama閱讀 206,311評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異割岛,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)犯助,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評論 2 382
  • 文/潘曉璐 我一進(jìn)店門癣漆,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人剂买,你說我怎么就攤上這事惠爽。” “怎么了瞬哼?”我有些...
    開封第一講書人閱讀 152,671評論 0 342
  • 文/不壞的土叔 我叫張陵婚肆,是天一觀的道長。 經(jīng)常有香客問我坐慰,道長较性,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,252評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮赞咙,結(jié)果婚禮上责循,老公的妹妹穿的比我還像新娘。我一直安慰自己攀操,他們只是感情好院仿,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,253評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著速和,像睡著了一般歹垫。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上颠放,一...
    開封第一講書人閱讀 49,031評論 1 285
  • 那天排惨,我揣著相機(jī)與錄音,去河邊找鬼慈迈。 笑死若贮,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的痒留。 我是一名探鬼主播谴麦,決...
    沈念sama閱讀 38,340評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼伸头!你這毒婦竟也來了匾效?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,973評論 0 259
  • 序言:老撾萬榮一對情侶失蹤恤磷,失蹤者是張志新(化名)和其女友劉穎面哼,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體扫步,經(jīng)...
    沈念sama閱讀 43,466評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡魔策,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,937評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了河胎。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片闯袒。...
    茶點(diǎn)故事閱讀 38,039評論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖游岳,靈堂內(nèi)的尸體忽然破棺而出政敢,到底是詐尸還是另有隱情,我是刑警寧澤胚迫,帶...
    沈念sama閱讀 33,701評論 4 323
  • 正文 年R本政府宣布喷户,位于F島的核電站,受9級特大地震影響访锻,放射性物質(zhì)發(fā)生泄漏褪尝。R本人自食惡果不足惜闹获,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,254評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望恼五。 院中可真熱鬧昌罩,春花似錦、人聲如沸灾馒。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,259評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽睬罗。三九已至轨功,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間容达,已是汗流浹背古涧。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留花盐,地道東北人羡滑。 一個(gè)月前我還...
    沈念sama閱讀 45,497評論 2 354
  • 正文 我出身青樓,卻偏偏與公主長得像算芯,于是被迫代替她去往敵國和親柒昏。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,786評論 2 345

推薦閱讀更多精彩內(nèi)容

  • 工廠模式類似于現(xiàn)實(shí)生活中的工廠可以產(chǎn)生大量相似的商品熙揍,去做同樣的事情职祷,實(shí)現(xiàn)同樣的效果;這時(shí)候需要使用工廠模式。簡單...
    舟漁行舟閱讀 7,718評論 2 17
  • 單例模式 適用場景:可能會在場景中使用到對象届囚,但只有一個(gè)實(shí)例有梆,加載時(shí)并不主動(dòng)創(chuàng)建,需要時(shí)才創(chuàng)建 最常見的單例模式意系,...
    Obeing閱讀 2,056評論 1 10
  • 原文: https://github.com/ecomfe/spec/blob/master/javascript...
    zock閱讀 3,370評論 2 36
  • 第一部分 準(zhǔn)入訓(xùn)練 第1章 進(jìn)入忍者世界 js開發(fā)人員通常使用js庫來實(shí)現(xiàn)通用和可重用的功能泥耀。這些庫需要簡單易用,...
    如201608閱讀 1,334評論 1 2
  • 我叫高帆蛔添,帆是揚(yáng)帆遠(yuǎn)航的帆痰催,今年二十未滿,就讀于懷化學(xué)院文學(xué)與新聞傳播學(xué)院漢語言文學(xué)一班作郭。我沒有多好的成績就不拿出...
    采臣Allen閱讀 3,967評論 0 0