1、if的括號(hào)里,一定是一個(gè)布爾值,只可以是true或false,但這個(gè)布爾值可以是表達(dá)式計(jì)算結(jié)果。你常見(jiàn)的if(a == b)實(shí)際上如果a和b是相等的,首先還是變成if(true),如果括號(hào)里直接就是if(true),這是很正常的,因?yàn)槿绻鹖f的括號(hào)里是true,就執(zhí)行if段,否則就執(zhí)行else段。
成都創(chuàng)新互聯(lián)是一家專(zhuān)業(yè)的成都網(wǎng)站建設(shè)公司,我們專(zhuān)注成都做網(wǎng)站、網(wǎng)站建設(shè)、網(wǎng)絡(luò)營(yíng)銷(xiāo)、企業(yè)網(wǎng)站建設(shè),友情鏈接,1元廣告為企業(yè)客戶(hù)提供一站式建站解決方案,能帶給客戶(hù)新的互聯(lián)網(wǎng)理念。從網(wǎng)站結(jié)構(gòu)的規(guī)劃UI設(shè)計(jì)到用戶(hù)體驗(yàn)提高,創(chuàng)新互聯(lián)力求做到盡善盡美。
2、正因?yàn)閕f(true)會(huì)執(zhí)行if段,所以在if段把onOff變成false,以便讓它執(zhí)行else段; 在else段讓onOff變成true,如此反復(fù)循環(huán),就變成了一下執(zhí)行if,一下執(zhí)行esle。
3、window.onload是一個(gè)事件,它會(huì)在頁(yè)面中所有元素都加載完成的時(shí)候觸發(fā)這個(gè)事件。并不是說(shuō)瀏覽器會(huì)一直循環(huán)等待事件觸發(fā),而是瀏覽器感知你的一切操作,當(dāng)某個(gè)操作進(jìn)行時(shí),它再去觸發(fā)這個(gè)事件,并執(zhí)行給這個(gè)事件綁定的函數(shù)。就好像你告訴百度,“有人回答這個(gè)問(wèn)題就通知你一下”,這個(gè)就是一個(gè)事件,并不需要你不停的來(lái)看看是否有人回答,而是有人回答完之后,百度會(huì)去告訴你,而百度也不需要一直看是否有人回答,只需要在我回答的時(shí)候,自動(dòng)感知有人回答,然后再自動(dòng)去告訴,比如發(fā)個(gè)通知。
4、函數(shù)的作用域是可以嵌套的,aa函數(shù)的作用域大于bb函數(shù)的作用域,所以bb函數(shù)可以用aa函數(shù)的,因?yàn)樗浪纳霞?jí)可以給它提供這些變量。但是aa卻不能使用bb中的變量,因?yàn)樗鼰o(wú)法預(yù)知bb中是否有這個(gè)變量,這是比較俗的講法。實(shí)際上js作用域問(wèn)題是一個(gè)很大的問(wèn)題,在這里根本無(wú)法三言?xún)烧Z(yǔ)講清楚。你要是真想知道,還是專(zhuān)門(mén)去多找?guī)灼P(guān)于js作用域的博客看看,收獲會(huì)很大。
今天小編要跟大家分享的文章是關(guān)于學(xué)習(xí)Web前端要知道的JavaScript、Ajax、jQuery知識(shí)。今天小編將詳細(xì)解讀JavaScript、ajax、jQuery是什么?他們可以實(shí)現(xiàn)什么?想要學(xué)習(xí)Web前端的小伙伴們來(lái)和小編一起看一看吧!
1、JavaScript
·___ㄒ澹
javaScript的簡(jiǎn)寫(xiě)形式就是JS,是由Netscape公司開(kāi)發(fā)的一種腳本語(yǔ)言,一種廣泛用于客戶(hù)端Web開(kāi)發(fā)的腳本語(yǔ)言,常用來(lái)給HTML網(wǎng)頁(yè)添加動(dòng)態(tài)功能(其編寫(xiě)的程序可以被嵌入到HTML或XML頁(yè)面中,并直接在瀏覽器中解釋執(zhí)行)。
·___槌剎糠鄭
核心(ECMAScript)、文檔對(duì)象模型(DocumentObjectModel,簡(jiǎn)稱(chēng)DOM)、瀏覽器對(duì)象模型(BrowserObjectModel,簡(jiǎn)稱(chēng)BOM)
·___枋觶
Javascript就是適應(yīng)動(dòng)態(tài)網(wǎng)頁(yè)制作的需要而誕生的一種新的編程語(yǔ)言,如今越來(lái)越廣泛地使用于Internet網(wǎng)頁(yè)制作上。
Javascript是由Netscape公司開(kāi)發(fā)的一種腳本語(yǔ)言(scripting
language),或者稱(chēng)為描述語(yǔ)言。在HTML基礎(chǔ)上,使用Javascript可以開(kāi)發(fā)交互式Web網(wǎng)頁(yè)。
Javascript的出現(xiàn)使得網(wǎng)頁(yè)和用戶(hù)之間實(shí)現(xiàn)了一種實(shí)時(shí)性的、動(dòng)態(tài)的、交互性的關(guān)系,使網(wǎng)頁(yè)包含更多活躍的元素和更加精彩的內(nèi)容。
Javascript短小精悍,又是在客戶(hù)機(jī)上執(zhí)行的,大大提高了網(wǎng)頁(yè)的瀏覽速度和交互能力。同時(shí)它又是專(zhuān)門(mén)為制作Web網(wǎng)頁(yè)而量身定做的一種簡(jiǎn)單的編程語(yǔ)言。
主流的javaScript框架有:YUI,Dojo,Prototype,jQuery...
2、AJax
·___ㄒ澹
AJAX即“AsynchronousJavaScriptandXML”(異步JavaScript和XML),AJAX并非縮寫(xiě)詞,而是由JesseJamesGaiiett創(chuàng)造的名詞,是指一種創(chuàng)建交互式網(wǎng)頁(yè)應(yīng)用的網(wǎng)頁(yè)開(kāi)發(fā)技術(shù)。
_JAX不是一個(gè)技術(shù),它實(shí)際上是幾種技術(shù),每種技術(shù)都有其獨(dú)特之處,合在一起就成了一個(gè)功能強(qiáng)大的新技術(shù)。
·___槌桑
基于XHTML和CSS標(biāo)準(zhǔn)的表示;
使用Document
ObjectModel進(jìn)行動(dòng)態(tài)顯示和交互;
使用XML和XSLT做數(shù)據(jù)交互和操作;
使用XML
HttpRequest與服務(wù)器進(jìn)行異步通信;
使用JavaScript綁定一切。
·___枋觶
Ajax是結(jié)合了Java技術(shù)、XML以及JavaScript等編程技術(shù),可以讓開(kāi)發(fā)人員構(gòu)建基于Java技術(shù)的Web應(yīng)用,并打破了使用頁(yè)面重載的管理。
Ajax技術(shù)使用非同步的HTTP請(qǐng)求,在Browser和WebServer之間傳遞數(shù)據(jù),使Browser只更新部分網(wǎng)頁(yè)內(nèi)容而不重新載入整個(gè)網(wǎng)頁(yè)。
Ajax是使用客戶(hù)端腳本與Web服務(wù)器交換數(shù)據(jù)的Web應(yīng)用開(kāi)發(fā)方法。這樣,Web頁(yè)面不用打斷交互流程進(jìn)行重新加裁,就可以動(dòng)態(tài)地更新。使用Ajax,用戶(hù)可以創(chuàng)建接近本地桌面應(yīng)用的直接、高可用、更豐富、更動(dòng)態(tài)的Web用戶(hù)界面。
3、jQuery
·___ㄒ澹
jQuery是一個(gè)快速的,簡(jiǎn)潔的javaScript庫(kù),使用戶(hù)能更方便地處理HTML
documents、events、實(shí)現(xiàn)動(dòng)畫(huà)效果,并且方便地為網(wǎng)站提供AJAX交互。
·___氐悖
輕量級(jí)、鏈?zhǔn)秸Z(yǔ)法、CSS1-3選擇器、跨瀏覽器、簡(jiǎn)單、易擴(kuò)展;
jQuery是一種獨(dú)立于服務(wù)器端代碼的框架,獨(dú)立于ASP.NET或者JAVA;
jQuery是當(dāng)前很流行的一個(gè)JavaScript框架,使用類(lèi)似于CSS的選擇器,可以方便的操作HTML元素,擁有很好的可擴(kuò)展性,擁有不少插件。
·___枋觶
對(duì)于程序員來(lái)說(shuō),簡(jiǎn)化javascript和ajax編程,能夠使程序員從設(shè)計(jì)和書(shū)寫(xiě)繁雜的JS應(yīng)用中解脫出來(lái),將關(guān)注點(diǎn)轉(zhuǎn)向功能需求而非實(shí)現(xiàn)細(xì)節(jié)上,從而提高項(xiàng)目的開(kāi)發(fā)速度。
對(duì)于用戶(hù)來(lái)說(shuō),改善了頁(yè)面的視覺(jué)效果,增強(qiáng)了與頁(yè)面的交互性,體驗(yàn)更絢麗的網(wǎng)頁(yè)物資。javaScript框架實(shí)際上是一系列工具和函數(shù)。
4、三者的關(guān)系
下面我用一張導(dǎo)圖來(lái)闡述這三者的關(guān)系:
解釋?zhuān)?/p>
javaScript是用于Web客戶(hù)端開(kāi)發(fā)的腳本語(yǔ)言,Ajax是基于JS語(yǔ)言,主要組合JS、CSS、XML三種技術(shù)的新技術(shù),是用于創(chuàng)建交互式網(wǎng)頁(yè)應(yīng)用的網(wǎng)頁(yè)開(kāi)發(fā)技術(shù)。jQuery是JS的框架,基于JS語(yǔ)言,集合Ajax技術(shù)開(kāi)發(fā)出來(lái)的JS庫(kù),封裝JS和Ajax的功能,提供函數(shù)接口,大大簡(jiǎn)化了Ajax,JS的操作。
以上就是小編今天為大家分享的關(guān)于學(xué)習(xí)Web前端要知道的JavaScript、Ajax、jQuery知識(shí)的文章,希望本篇文章能夠?qū)φ趶氖耊eb前端工作的小伙伴們有所幫助。想要了解更多Web前端知識(shí)記得關(guān)注北大青鳥(niǎo)Web培訓(xùn)官網(wǎng)。最后祝愿小伙伴們工作順利,成為一名優(yōu)秀的Web前端工程師!
原文鏈接:#/u/155352/blog/789347
SHAPE\*MERGEFORMAT
SHAPE\*MERGEFORMAT
方法和詳細(xì)的操作步驟如下:
1、第一步,打開(kāi)HBuilder工具,并在Web項(xiàng)目的js文件夾中創(chuàng)建一個(gè)新的JavaScript文件ConnDB.js,使用require()引入mysql模塊,然后將該值分配給變量mysq,見(jiàn)下圖,轉(zhuǎn)到下面的步驟。
2、第二步,完成上述步驟后,調(diào)用createConnection()方法設(shè)置主機(jī),用戶(hù)名,密碼,端口并返回?cái)?shù)據(jù),見(jiàn)下圖,轉(zhuǎn)到下面的步驟。
3、第三步,完成上述步驟后,調(diào)用mysql模塊中的connect()方法以連接到mysql數(shù)據(jù),見(jiàn)下圖,轉(zhuǎn)到下面的步驟。
4、第四步,完成上述步驟后,編寫(xiě)查詢(xún)語(yǔ)句SQL并將其作為字符串分配給變量sq,見(jiàn)下圖,轉(zhuǎn)到下面的步驟。
5、第五步,完成上述步驟后,調(diào)用query(),根據(jù)返回值判斷結(jié)果,然后打印返回,見(jiàn)下圖。這樣,就解決了這個(gè)問(wèn)題了。
javascript是運(yùn)行在瀏覽器內(nèi)的腳本語(yǔ)言,為了安全,不能訪問(wèn)任何的系統(tǒng)資源,所以也不可能直接訪問(wèn)數(shù)據(jù)庫(kù)。如果需要在瀏覽器中進(jìn)行數(shù)據(jù)庫(kù)操作的話,通常的方法是在WEB服務(wù)器上采用ASP JSP之類(lèi)的語(yǔ)言訪問(wèn)數(shù)據(jù)庫(kù),然后把結(jié)果返回給瀏覽器中運(yùn)行的Javascript流程就是(以ASP為例) 瀏覽器上Javascript發(fā)起網(wǎng)頁(yè)請(qǐng)求--ASP訪問(wèn)數(shù)據(jù)庫(kù)--ASP生成結(jié)果(例如是一行行的文本)--瀏覽器上Javascript分析結(jié)果--把結(jié)果在瀏覽器上顯示。相關(guān)的技術(shù)有 AJAX(可以參考下JQuery),ASP訪問(wèn)數(shù)據(jù)庫(kù)(這個(gè)很多辦法,自己百度吧)。
javascript代碼和其他服務(wù)器端代碼一樣,都是按順序執(zhí)行的。
但是這里有幾個(gè)代碼跳轉(zhuǎn)的地方:
1、setTimeout / setInterval
這兩個(gè)函數(shù)中的代碼是定時(shí)執(zhí)行,不在順序中;
2、ajax
Ajax一般來(lái)說(shuō),在 成功/失敗 獲取服務(wù)器端數(shù)據(jù)后會(huì)有js代碼來(lái)處理接受到的數(shù)據(jù);ajax有兩種情況,分別是同步和異步;同步是指的,js在發(fā)送ajax請(qǐng)求后阻塞代碼執(zhí)行,一直到ajax獲取到服務(wù)器返回?cái)?shù)據(jù),然后繼續(xù)按代碼順序執(zhí)行,也就是說(shuō),這種情況下,ajax后面的代碼中可以正常使用ajax返回的數(shù)據(jù);異步是指ajax請(qǐng)求發(fā)送后,代碼跳過(guò)ajax,繼續(xù)執(zhí)行其后的代碼,ajax 響應(yīng)代碼在ajax獲取數(shù)據(jù)后執(zhí)行,也就是說(shuō),這種情況下,ajax后面的代碼中不能確定ajax的狀態(tài),也不可以ajax返回的數(shù)據(jù)。
下面復(fù)制于網(wǎng)絡(luò),詳細(xì)講解javascript中的各種控制結(jié)構(gòu)。
一、條件選擇結(jié)構(gòu)
條件選擇語(yǔ)句用于基于不同的條件來(lái)執(zhí)行不同的動(dòng)作,通常在寫(xiě)代碼時(shí),總是需要為不同的決定來(lái)執(zhí)行不同的
動(dòng)作,可以在代碼中使用條件語(yǔ)句來(lái)完成該任務(wù)。
在JavaScript中,我們可使用以下條件語(yǔ)句:
if 語(yǔ)句:只有當(dāng)指定條件為true時(shí),使用該語(yǔ)句來(lái)執(zhí)行代碼
!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ""
html xmlns=""
head
meta http-equiv="Content-Type" content="text/html; charset=gb2312" /
titleJS流程控制語(yǔ)句/title
/head
body
p如果時(shí)間早于 20:00,會(huì)獲得問(wèn)候 "Good day"。/p
button onclick="myFunction()"點(diǎn)擊這里/button
p id="demo"/p
script type="text/javascript"
var time=new Date().getHours();
document.write("當(dāng)前北京時(shí)間:"+time);
function myFunction()
{
var x="";
if (time20)
{
x="Good day";
}
document.getElementById("demo").innerHTML=x;
}
/script
/body
/html
運(yùn)行的結(jié)果為:
if...else語(yǔ)句:當(dāng)條件為true時(shí)執(zhí)行代碼,當(dāng)條件為 false 時(shí)執(zhí)行其他代碼
!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ""
html xmlns=""
head
meta http-equiv="Content-Type" content="text/html; charset=gb2312" /
titleJS流程控制語(yǔ)句/title
/head
body
p如果時(shí)間早于 20:00,會(huì)獲得問(wèn)候 "Good day"。如果時(shí)間晚于 20:00,會(huì)獲得問(wèn)候 "Good evening"。/p
button onclick="myFunction()"點(diǎn)擊這里/button
p id="demo"/p
script type="text/javascript"
var time=new Date().getHours();
document.write("當(dāng)前北京時(shí)間:"+time);
function myFunction()
{
var x="";
if (time20)
{
x="Good day";
}
else
{
x="Good evening";
}
document.getElementById("demo").innerHTML=x;
}
/script
/body
/html
運(yùn)行的結(jié)果為:
if...else if....else 語(yǔ)句:使用該語(yǔ)句來(lái)選擇多個(gè)代碼塊之一來(lái)執(zhí)行
!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ""
html xmlns=""
head
meta http-equiv="Content-Type" content="text/html; charset=gb2312" /
titleJS流程控制語(yǔ)句/title
/head
body
p如果時(shí)間早于 10:00,會(huì)獲得問(wèn)候 "Good morning"。/p
p如果時(shí)間早于 20:00,會(huì)獲得問(wèn)候 "Good day"。/p
p如果時(shí)間晚于 20:00,會(huì)獲得問(wèn)候 "Good evening"。/p
button onclick="myFunction()"點(diǎn)擊這里/button
p id="demo"/p
script type="text/javascript"
var time=new Date().getHours();
document.write("當(dāng)前北京時(shí)間:"+time);
function myFunction()
{
var x="";
if (time10)
{
x="Good morning";
}
else if (time20)
{
x="Good day";
}
else
{
x="Good evening";
}
document.getElementById("demo").innerHTML=x;
}
/script
/body
/html
運(yùn)行的結(jié)果為:
switch語(yǔ)句: 使用該語(yǔ)句來(lái)選擇多個(gè)代碼塊之一來(lái)執(zhí)行。switch 語(yǔ)句用于基于不同的條件來(lái)執(zhí)行不同的動(dòng)作
!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ""
html xmlns=""
head
meta http-equiv="Content-Type" content="text/html; charset=gb2312" /
titleJS流程控制語(yǔ)句2/title
/head
body
p點(diǎn)擊下面的按鈕來(lái)顯示今天是周幾:/p
button onclick="myFunction()"點(diǎn)擊這里/button
p id="demo"/p
script type="text/javascript"
var d=new Date().getDay();
document.write("今天的星期代表數(shù)字:"+d);
function myFunction()
{ var x;
switch (d)
{
case 0:
x="Today it's Sunday";
break;
case 1:
x="Today it's Monday";
break;
case 2:
x="Today it's Tuesday";
break;
case 3:
x="Today it's Wednesday";
break;
case 4:
x="Today it's Thursday";
break;
case 5:
x="Today it's Friday";
break;
case 6:
x="Today it's Saturday";
break;
}
document.getElementById("demo").innerHTML=x;
}
/script
/body
/html
運(yùn)行的結(jié)果:
default關(guān)鍵字的使用
!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ""
html xmlns=""
head
meta http-equiv="Content-Type" content="text/html; charset=gb2312" /
titleJS流程控制語(yǔ)句2/title
/head
body
p點(diǎn)擊下面的按鈕來(lái)顯示今天是周幾:/p
button onclick="myFunction()"點(diǎn)擊這里/button
p id="demo"/p
script type="text/javascript"
var d=new Date().getDay();
document.write("今天的星期代表數(shù)字:"+d);
function myFunction()
{ var x;
switch (d)
{
case 6:
x="Today it's Saturday";
break;
case 0:
x="Today it's Sunday";
break;
default:
x="Looking forward to the Weekend";
}
document.getElementById("demo").innerHTML=x;
}
/script
/body
/html
運(yùn)行的結(jié)果為:
二、循環(huán)結(jié)構(gòu)
循環(huán)可以將代碼塊執(zhí)行指定的次數(shù)。
JavaScript支持不同類(lèi)型的循環(huán):
(1)for語(yǔ)句:循環(huán)代碼塊一定的次數(shù)
for(var box=1;box=10;box++)
{
document.write("box="+box+"br/");
}
運(yùn)行的結(jié)果為:
(2)for...in語(yǔ)句: 循環(huán)遍歷對(duì)象的屬性
var box={
name:"張三",
age:24,
sex:"男"
};
for(x in box)
{
document.write(box[x]+"br/");
}
運(yùn)行的結(jié)果為:
(3)while語(yǔ)句:當(dāng)指定的條件為 true 時(shí)循環(huán)指定的代碼塊。先判斷,再執(zhí)行語(yǔ)句,這種比較實(shí)用。
var box=1;
while(box=5)
{
document.write("box="+box+"br/");
box++;
}
運(yùn)行的結(jié)果為:
(4)do...while - 同樣當(dāng)指定的條件為 true 時(shí)循環(huán)指定的代碼塊。先執(zhí)行一次,再判斷
var box=1;
do{
document.write("box="+box+"br/");
box++;
}while(box=10)
運(yùn)行的結(jié)果為:
三、其他語(yǔ)句
(1)break語(yǔ)句:用于跳出循環(huán)。
for(var box=1;box=10;box++)
{
if(box==5)
{
break;//強(qiáng)制退出整個(gè)循環(huán)
}
document.write("box="+box+"br/");
}
運(yùn)行的結(jié)果為:
執(zhí)行到第四次循環(huán)時(shí)不再繼續(xù)執(zhí)行,跳出了真?zhèn)€循環(huán),,輸出的少了box=5以后的循環(huán)。
(2)continue語(yǔ)句:用于跳過(guò)循環(huán)中的一個(gè)迭代。
for(var box=1;box=10;box++)
{
if(box==5)
{
continue;//退出當(dāng)前循環(huán),還會(huì)繼續(xù)執(zhí)行后面的循環(huán)
}
document.write("box="+box+"br/");
}
運(yùn)行的結(jié)果為:
執(zhí)行到第四次循環(huán)時(shí),跳出第五次循環(huán),繼續(xù)向下面執(zhí)行,輸出的少了box=5。
(3)with語(yǔ)句:將代碼的作用域設(shè)置到一個(gè)特定的對(duì)象中
先來(lái)看一般我們是怎么樣輸出對(duì)象的屬性的值的:
var box={
name:"張三",
age:24,
sex:"男"
};
var n=box.name;
var a=box.age;
var s=box.sex;
document.write(n+"br/");
document.write(a+"br/");
document.write(s);
運(yùn)行的結(jié)果為:
改用with語(yǔ)句來(lái)寫(xiě):
var box={
name:"張三",
age:24,
sex:"男"
};
with(box){
var n=name;
var a=age;
var s=sex;
};
document.write(n+"br/");
document.write(a+"br/");
document.write(s);