javaScript基礎(chǔ)01

0.web前端需要學(xué)習(xí)的知識(shí):

(ps,?

html5,

css3,

javascript核心,

DOM編程,

UI交互設(shè)計(jì),

HTTP協(xié)議爬坑,

服務(wù)端,

Ajax,

JQury涂臣,

BootStrap


1.json = ?javascript object notation.

"employees":[

{"firstName":"John", "lastName":"Doe"},

{"firstName":"Anna", "lastName":"Smith"},

{"firstName":"Peter", "lastName":"Jones"}

]


2.

浮點(diǎn)型數(shù)據(jù)使用注意事項(xiàng)

JavaScript?中的所有數(shù)據(jù)都是以?64?位浮點(diǎn)型數(shù)據(jù)(float)?來存儲(chǔ)盾计。

所有的編程語言,包括?JavaScript赁遗,對(duì)浮點(diǎn)型數(shù)據(jù)的精確度都很難確定:

下午?5:19:54

lustre?2016/8/23?星期二?下午?5:19:54

Undefined?不是?Null

在?JavaScript?中,?null?用于對(duì)象,?undefined?用于變量署辉,屬性和方法。

對(duì)象只有被定義才有可能為?null岩四,否則為?undefined哭尝。

如果我們想測(cè)試對(duì)象是否存在,在對(duì)象還沒定義時(shí)將會(huì)拋出一個(gè)錯(cuò)誤剖煌。

錯(cuò)誤的使用方式:

下午?5:30:47

lustre?2016/8/23?星期二?下午?5:30:47

JSON?是用于存儲(chǔ)和傳輸數(shù)據(jù)的格式材鹦。

JSON?通常用于服務(wù)端向網(wǎng)頁傳遞數(shù)據(jù)?。

3.var obj = JSON.parse(text);

4.函數(shù)描述

JSON.parse()用于將一個(gè) JSON 字符串轉(zhuǎn)換為 JavaScript 對(duì)象耕姊。

JSON.stringify()用于將 JavaScript 值轉(zhuǎn)換為 JSON 字符串桶唐。


5.HTML 載入外部 JavaScript 文件

使用簡潔的格式載入 JavaScript 文件 ( type 屬性不是必須的):

6。以上函數(shù)不屬于任何對(duì)象茉兰。但是在 JavaScript 中它始終是默認(rèn)的全局對(duì)象尤泽。

在 HTML 中默認(rèn)的全局對(duì)象是 HTML 頁面本身,所以函數(shù)是屬于 HTML 頁面。

在瀏覽器中的頁面對(duì)象是瀏覽器窗口(window 對(duì)象)坯约。以上函數(shù)會(huì)自動(dòng)變?yōu)?window 對(duì)象的函數(shù)熊咽。

myFunction() 和 window.myFunction() 是一樣的:

7。

局部變量計(jì)數(shù)闹丐。

計(jì)數(shù)!

0

var add = (function () {

var counter = 0;

return function () {return counter += 1;}

})();

function myFunction(){

document.getElementById("demo").innerHTML = add();

}


8.查找 HTML 元素

通常网棍,通過 JavaScript,您需要操作 HTML 元素妇智。

為了做到這件事情,您必須首先找到該元素氏身。有三種方法來做這件事:

通過 id 找到 HTML 元素

通過標(biāo)簽名找到 HTML 元素

通過類名找到 HTML 元素

9.document.getElementById(id).attribute=新屬性值

10.

JavaScriptHTML DOM

通過 HTML DOM巍棱,可訪問 JavaScript HTML 文檔的所有元素。

HTML DOM (文檔對(duì)象模型)

當(dāng)網(wǎng)頁被加載時(shí)蛋欣,瀏覽器會(huì)創(chuàng)建頁面的文檔對(duì)象模型(Document Object Model)航徙。

HTML DOM模型被構(gòu)造為對(duì)象的樹:

11.<h1 onclick="this.innerHTML='oppps!'">click me</h1>

注意,this代表的是<h1>

Ooops!


12.方法要賦值一下陷虎。

this.changeName=changeName;

function changeName(name){

this.lastname=name;

}


13.JavaScript 是面向?qū)ο蟮恼Z言到踏,但 JavaScript 不使用類。

在 JavaScript 中尚猿,不會(huì)創(chuàng)建類窝稿,也不會(huì)通過類來創(chuàng)建對(duì)象(就像在其他面向?qū)ο蟮恼Z言中那樣)。

JavaScript 基于 prototype凿掂,而不是基于類的伴榔。


14.所有 JavaScript 數(shù)字均為 64 位

JavaScript 不是類型語言。與許多其他編程語言不同庄萎,JavaScript 不定義不同類型的數(shù)字踪少,比如整數(shù)、短糠涛、長援奢、浮點(diǎn)等等。

在JavaScript中忍捡,數(shù)字不分為整數(shù)類型和浮點(diǎn)型類型集漾,所有的數(shù)字都是由 浮點(diǎn)型類型。JavaScript采用IEEE754標(biāo)準(zhǔn)定義的64位浮點(diǎn)格式表示數(shù)字锉罐,它能表示最大值為±1.7976931348623157 x 10308帆竹,最小值為±5 x 10 -324

15.RegExp:是正則表達(dá)式(regular expression)的簡寫。

16.瀏覽器對(duì)象模型 (BOM) 使 JavaScript 有能力與瀏覽器"對(duì)話"脓规。

browser object model

由于現(xiàn)代瀏覽器已經(jīng)(幾乎)實(shí)現(xiàn)了 JavaScript 交互性方面的相同方法和屬性栽连,因此常被認(rèn)為是 BOM 的方法和屬性。

17.Window 對(duì)象

所有瀏覽器都支持 window 對(duì)象。它表示瀏覽器窗口秒紧。

所有 JavaScript 全局對(duì)象绢陌、函數(shù)以及變量均自動(dòng)成為 window 對(duì)象的成員。

全局變量是 window 對(duì)象的屬性熔恢。

全局函數(shù)是 window 對(duì)象的方法脐湾。

甚至 HTML DOM 的 document 也是 window 對(duì)象的屬性之一:

window.document.getElementById("header");

與此相同:

document.getElementById("header");

18.Window 尺寸

有三種方法能夠確定瀏覽器窗口的尺寸(瀏覽器的視口,不包括工具欄和滾動(dòng)條)叙淌。

對(duì)于Internet Explorer秤掌、Chrome、Firefox鹰霍、Opera 以及 Safari:

window.innerHeight - 瀏覽器窗口的內(nèi)部高度

window.innerWidth - 瀏覽器窗口的內(nèi)部寬度

對(duì)于 Internet Explorer 8闻鉴、7、6茂洒、5:

document.documentElement.clientHeight

document.documentElement.clientWidth

或者

document.body.clientHeight

document.body.clientWidth

實(shí)用的 JavaScript 方案(涵蓋所有瀏覽器):

實(shí)例<這個(gè)十分好,涵蓋所有瀏覽器>

var w=window.innerWidth

|| document.documentElement.clientWidth

|| document.body.clientWidth;

var h=window.innerHeight

|| document.documentElement.clientHeight

|| document.body.clientHeight;

19.Window History

window.history對(duì)象在編寫時(shí)可不使用 window 這個(gè)前綴督勺。

為了保護(hù)用戶隱私渠羞,對(duì) JavaScript 訪問該對(duì)象的方法做出了限制渗蟹。

一些方法:

history.back() - 與在瀏覽器點(diǎn)擊后退按鈕相同

history.forward() - 與在瀏覽器中點(diǎn)擊按鈕向前相同

20.JavaScriptWindow Navigator

window.navigator 對(duì)象包含有關(guān)訪問者瀏覽器的信息糟需。

Window Navigator

window.navigator對(duì)象在編寫時(shí)可不使用 window 這個(gè)前綴屉佳。

21.JavaScript彈窗

可以在 JavaScript 中創(chuàng)建三種消息框:警告框、確認(rèn)框洲押、提示框武花。

22.JavaScript計(jì)時(shí)事件

通過使用 JavaScript,我們有能力作到在一個(gè)設(shè)定的時(shí)間間隔之后來執(zhí)行代碼杈帐,而不是在函數(shù)被調(diào)用后立即執(zhí)行体箕。我們稱之為計(jì)時(shí)事件专钉。

在 JavaScritp 中使用計(jì)時(shí)事件是很容易的,兩個(gè)關(guān)鍵方法是:

setInterval() - 間隔指定的毫秒數(shù)不停地執(zhí)行指定的代碼累铅。

setTimeout() - 暫停指定的毫秒數(shù)后執(zhí)行指定的代碼

Note:setInterval() 和 setTimeout() 是 HTML DOM Window對(duì)象的兩個(gè)方法跃须。

23.每隔一段時(shí)間彈窗。

setInterval(function(){alert("hello")}, 3000);

24.JavaScript Cookies

Cookies 用于存儲(chǔ) web 頁面的用戶信息娃兽。

什么是 Cookies菇民?

Cookies 是一些數(shù)據(jù), 存儲(chǔ)于你電腦上的文本文件中。

當(dāng) web 服務(wù)器向?yàn)g覽器發(fā)送 web 頁面時(shí)投储,在連接關(guān)閉后第练,服務(wù)端不會(huì)記錄用戶的信息。

Cookies 的作用就是用于解決 "如何記錄客戶端的用戶信息":

當(dāng)用戶訪問 web 頁面時(shí)玛荞,他的名字可以記錄在 cookie 中复旬。

在用戶下一次訪問該頁面時(shí),可以在 cookie 中讀取用戶訪問記錄冲泥。

Cookies 以名/值對(duì)形式存儲(chǔ),如下所示:

username=John Doe ?// john:廁所 ?doe:母鹿

當(dāng)瀏覽器從服務(wù)器上請(qǐng)求 web 頁面時(shí)壁涎, 屬于該頁面的 cookies 會(huì)被添加到該請(qǐng)求中凡恍。服務(wù)端通過這種方式來獲取用戶的信息。


使用 JavaScript 創(chuàng)建Cookie

JavaScript 可以使用document.cookie屬性來創(chuàng)建 怔球、讀取嚼酝、及刪除 cookies。

JavaScript 中竟坛,創(chuàng)建 cookie 如下所示:

25.使用 JavaScript 刪除 Cookie

刪除 cookie 非常簡單闽巩。您只需要設(shè)置 expires 參數(shù)為以前的時(shí)間即可,如下所示担汤,設(shè)置為 Thu, 01 Jan 1970 00:00:00 GMT:

document.cookie = "username=; expires=Thu, 01 Jan 1970 00:00:00 GMT";

注意涎跨,當(dāng)您刪除時(shí)不必指定 cookie 的值。

26.獲取 cookie 值的函數(shù)

然后崭歧,我們創(chuàng)建一個(gè)函數(shù)用戶返回指定 cookie 的值:

function getCookie(cname)

{

var name = cname + "=";

var ca = document.cookie.split(';');

for(var i=0; i

{

var c = ca[i].trim();

if (c.indexOf(name)==0) return c.substring(name.length,c.length);

}

return "";

}

函數(shù)解析:

cookie 名的參數(shù)為 cname隅很。

創(chuàng)建一個(gè)文本變量用于檢索指定 cookie :cname + "="。

使用分號(hào)來分割 document.cookie 字符串率碾,并將分割后的字符串?dāng)?shù)組賦值給 ca (ca = document.cookie.split(';'))叔营。

循環(huán) ca 數(shù)組 (i=0;i

如果找到 cookie(c.indexOf(name) == 0),返回 cookie 的值 (c.substring(name.length,c.length)所宰。

如果沒有找到 cookie, 返回 ""绒尊。

27.檢測(cè) cookie 值的函數(shù)

最后,我們可以創(chuàng)建一個(gè)檢測(cè) cookie 是否創(chuàng)建的函數(shù)仔粥。

如果設(shè)置了 cookie婴谱,將顯示一個(gè)問候信息。

如果沒有設(shè)置 cookie,將會(huì)顯示一個(gè)彈窗用于詢問訪問者的名字勘究,并調(diào)用 setCookie 函數(shù)將訪問者的名字存儲(chǔ) 365 天:

function checkCookie()

{

var username=getCookie("username");

if (username!="")

{

alert("Welcome again " + username);

}

else

{

username = prompt("Please enter your name:","");

if (username!="" && username!=null)

{

setCookie("username",username,365);

}

}

}


28.

JavaScript 庫 - jQuery矮湘、Prototype、MooTools口糕。

29.JavaScript 框架(庫)

JavaScript 高級(jí)程序設(shè)計(jì)(特別是對(duì)瀏覽器差異的復(fù)雜處理)缅阳,通常很困難也很耗時(shí)。

為了應(yīng)對(duì)這些調(diào)整景描,許多的JavaScript (helper)庫應(yīng)運(yùn)而生十办。

這些 JavaScript 庫常被稱為JavaScript 框架

在本教程中超棺,我們將了解到一些廣受歡迎的 JavaScript 框架:

jQuery

Prototype

MooTools

所有這些框架都提供針對(duì)常見 JavaScript 任務(wù)的函數(shù)向族,包括動(dòng)畫、DOM 操作以及 Ajax 處理棠绘。

在本教程中件相,您將學(xué)習(xí)到如何開始使用它們,來使得 JavaScript 編程更容易氧苍、更安全且更有樂趣夜矗。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市让虐,隨后出現(xiàn)的幾起案子紊撕,更是在濱河造成了極大的恐慌,老刑警劉巖赡突,帶你破解...
    沈念sama閱讀 216,591評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件对扶,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡惭缰,警方通過查閱死者的電腦和手機(jī)浪南,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,448評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來漱受,“玉大人逞泄,你說我怎么就攤上這事“菪В” “怎么了喷众?”我有些...
    開封第一講書人閱讀 162,823評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長紧憾。 經(jīng)常有香客問我到千,道長,這世上最難降的妖魔是什么赴穗? 我笑而不...
    開封第一講書人閱讀 58,204評(píng)論 1 292
  • 正文 為了忘掉前任憔四,我火速辦了婚禮膀息,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘了赵。我一直安慰自己潜支,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,228評(píng)論 6 388
  • 文/花漫 我一把揭開白布柿汛。 她就那樣靜靜地躺著冗酿,像睡著了一般。 火紅的嫁衣襯著肌膚如雪络断。 梳的紋絲不亂的頭發(fā)上裁替,一...
    開封第一講書人閱讀 51,190評(píng)論 1 299
  • 那天,我揣著相機(jī)與錄音貌笨,去河邊找鬼弱判。 笑死,一個(gè)胖子當(dāng)著我的面吹牛锥惋,可吹牛的內(nèi)容都是我干的昌腰。 我是一名探鬼主播,決...
    沈念sama閱讀 40,078評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼膀跌,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼剥哑!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起淹父,我...
    開封第一講書人閱讀 38,923評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎怎虫,沒想到半個(gè)月后暑认,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,334評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡大审,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,550評(píng)論 2 333
  • 正文 我和宋清朗相戀三年蘸际,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片徒扶。...
    茶點(diǎn)故事閱讀 39,727評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡粮彤,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出姜骡,到底是詐尸還是另有隱情导坟,我是刑警寧澤,帶...
    沈念sama閱讀 35,428評(píng)論 5 343
  • 正文 年R本政府宣布圈澈,位于F島的核電站惫周,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏康栈。R本人自食惡果不足惜递递,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,022評(píng)論 3 326
  • 文/蒙蒙 一喷橙、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧登舞,春花似錦贰逾、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,672評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至稽煤,卻和暖如春核芽,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背酵熙。 一陣腳步聲響...
    開封第一講書人閱讀 32,826評(píng)論 1 269
  • 我被黑心中介騙來泰國打工轧简, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人匾二。 一個(gè)月前我還...
    沈念sama閱讀 47,734評(píng)論 2 368
  • 正文 我出身青樓哮独,卻偏偏與公主長得像,于是被迫代替她去往敵國和親察藐。 傳聞我的和親對(duì)象是個(gè)殘疾皇子皮璧,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,619評(píng)論 2 354

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