真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

轉(zhuǎn)javascript的簡(jiǎn)單介紹

VBscript轉(zhuǎn)換成javascript

Script?Language="JavaScript"

禮縣網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)建站!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站建設(shè)等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營(yíng)維護(hù)。創(chuàng)新互聯(lián)建站從2013年創(chuàng)立到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)建站。

function?ConfirmXEnrollLoaded(){

var?test=true;

try{

ePass1000nd.GetLibVersion;

}catch(Err){

if(Err.number==0x1B6){test=false};

};

return?test;

};

/Script

接收到服務(wù)器傳過來的json數(shù)據(jù) 怎么轉(zhuǎn)成javascript對(duì)象

1. JSON的數(shù)據(jù)格式

a) 按照最簡(jiǎn)單的形式,可以用下面這樣的 JSON 表示名稱/值對(duì):

{ "firstName": "Brett" }

b) 可以創(chuàng)建包含多個(gè)名稱/值對(duì)的記錄,比如:

{ "firstName": "Brett", "lastName":"McLaughlin", "email": "brett@newInstance.com" }

c) 可以創(chuàng)建值的數(shù)組

{ "people": [

{ "firstName": "Brett", "lastName":"McLaughlin", "email": "brett@newInstance.com" },

{ "firstName": "Jason", "lastName":"Hunter", "email": "jason@servlets.com" }

]}

d) 當(dāng)然,可以使用相同的語法表示多個(gè)值(每個(gè)值包含多個(gè)記錄):

{ "programmers": [

{ "firstName": "Brett", "lastName":"McLaughlin", "email": "brett@newInstance.com" },

{ "firstName": "Jason", "lastName":"Hunter", "email": "jason@servlets.com" }

],

"authors": [

{ "firstName": "Isaac", "lastName": "Asimov", "genre": "science fiction" },

{ "firstName": "Tad", "lastName": "Williams", "genre": "fantasy" }

],

"musicians": [

{ "firstName": "Eric", "lastName": "Clapton", "instrument": "guitar" }

]

}

注意,在不同的主條目(programmers、authors 和 musicians)之間,記錄中實(shí)際的名稱/值對(duì)可以不一樣。JSON 是完全動(dòng)態(tài)的,允許在 JSON 結(jié)構(gòu)的中間改變表示數(shù)據(jù)的方式。

2. 在 JavaScript 中使用 JSON

JSON 是 JavaScript 原生格式,這意味著在 JavaScript 中處理 JSON 數(shù)據(jù)不需要任何特殊的 API 或工具包。

2.1 將 JSON 數(shù)據(jù)賦值給變量

例如,可以創(chuàng)建一個(gè)新的 JavaScript 變量,然后將 JSON 格式的數(shù)據(jù)字符串直接賦值給它:

var people =

{ "programmers": [

{ "firstName": "Brett", "lastName":"McLaughlin", "email": "brett@newInstance.com" },

{ "firstName": "Jason", "lastName":"Hunter", "email": "jason@servlets.com" }

],

"authors": [

{ "firstName": "Isaac", "lastName": "Asimov", "genre": "science fiction" },

{ "firstName": "Tad", "lastName": "Williams", "genre": "fantasy" }

],

"musicians": [

{ "firstName": "Eric", "lastName": "Clapton", "instrument": "guitar" }

]

}

2.2 訪問數(shù)據(jù)

將這個(gè)數(shù)組放進(jìn) JavaScript 變量之后,就可以很輕松地訪問它。實(shí)際上,只需用點(diǎn)號(hào)表示法來表示數(shù)組元素。所以,要想訪問 programmers 列表的第一個(gè)條目的姓氏,只需在JavaScript 中使用下面這樣的代碼:

people.programmers[0].lastName;

注意,數(shù)組索引是從零開始的。

2.3 修改 JSON 數(shù)據(jù)

正如訪問數(shù)據(jù),可以按照同樣的方式修改數(shù)據(jù):

people.musicians[1].lastName = "Rachmaninov";

2.4 轉(zhuǎn)換回字符串

a) 在 JavaScript 中這種轉(zhuǎn)換也很簡(jiǎn)單:

String newJSONtext = people.toJSONString();

b) 可以將任何 JavaScript 對(duì)象轉(zhuǎn)換為 JSON 文本。并非只能處理原來用 JSON 字符串賦值的變量。為了對(duì)名為 myObject 的對(duì)象進(jìn)行轉(zhuǎn)換,只需執(zhí)行相同形式的命令:

String myObjectInJSON = myObject.toJSONString();

說明:將轉(zhuǎn)換回的字符串作為Ajax調(diào)用的字符串,完成異步傳輸。

小結(jié):如果要處理大量 JavaScript 對(duì)象,那么 JSON 幾乎肯定是一個(gè)好選擇,這樣就可以輕松地將數(shù)據(jù)轉(zhuǎn)換為可以在請(qǐng)求中發(fā)送給服務(wù)器端程序的格式。

3. 服務(wù)器端的 JSON

3.1 將 JSON 發(fā)給服務(wù)器

a) 通過 GET 以名稱/值對(duì)發(fā)送 JSON

在 JSON 數(shù)據(jù)中會(huì)有空格和各種字符,Web 瀏覽器往往要嘗試對(duì)其繼續(xù)編譯。要確保這些字符不會(huì)在服務(wù)器上(或者在將數(shù)據(jù)發(fā)送給服務(wù)器的過程中)引起混亂,需要在JavaScript的escape()函數(shù)中做如下添加:

var url = "organizePeople.php?people=" + escape(people.toJSONString());

request.open("GET", url, true);

request.onreadystatechange = updatePage;

request.send(null);

b) 利用 POST 請(qǐng)求發(fā)送 JSON 數(shù)據(jù)

當(dāng)決定使用 POST 請(qǐng)求將 JSON 數(shù)據(jù)發(fā)送給服務(wù)器時(shí),并不需要對(duì)代碼進(jìn)行大量更改,如下所示:

var url = "organizePeople.php?timeStamp=" + new Date().getTime();

request.open("POST", url, true);

request.onreadystatechange = updatePage;

request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

request.send(people.toJSONString());

注意:賦值時(shí)格式必須是var msg=eval('(' + req.responseText + ')');

3.2 在服務(wù)器上解釋 JSON

a) 處理 JSON 的兩步驟。

針對(duì)編寫服務(wù)器端程序所用的語言,找到相應(yīng)的 JSON 解析器/工具箱/幫助器 API。

使用 JSON 解析器/工具箱/幫助器 API 取得來自客戶機(jī)的請(qǐng)求數(shù)據(jù)并將數(shù)據(jù)轉(zhuǎn)變成腳本能理解的東西。

b) 尋找 JSON 解析器

尋找 JSON 解析器或工具箱最好的資源是 JSON 站點(diǎn)。如果使用的是 Java servlet,json.org 上的 org.json 包就是個(gè)不錯(cuò)的選擇。在這種情況下,可以從 JSON Web 站點(diǎn)下載 json.zip 并將其中包含的源文件添加到項(xiàng)目構(gòu)建目錄。編譯完這些文件后,一切就就緒了。對(duì)于所支持的其他語言,同樣可以使用相同的步驟;使用何種語言取決于您對(duì)該語言的精通程度,最好使用您所熟悉的語言。

c) 使用 JSON 解析器

一旦獲得了程序可用的資源,剩下的事就是找到合適的方法進(jìn)行調(diào)用。如果在 servlet 中使用的是 org.json 包,則會(huì)使用如下代碼:

public void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

StringBuffer jb = new StringBuffer();

String line = null;

try {

BufferedReader reader = request.getReader();

while ((line = reader.readLine()) != null)

jb.append(line);

} catch (Exception e) { //report an error }

try {

JSONObject jsonObject = new JSONObject(jb.toString());

} catch (ParseException e) {

// crash and burn

throw new IOException("Error parsing JSON request string");

}

// Work with the data using methods like...

// int someInt = jsonObject.getInt("intParamName");

// String someString = jsonObject.getString("stringParamName");

// JSONObject nestedObj = jsonObject.getJSONObject("nestedObjName");

// JSONArray arr = jsonObject.getJSONArray("arrayParamName");

// etc...

}

Javascript 如何強(qiáng)制類型轉(zhuǎn)換

netJavaScript的變量確實(shí)是沒有類型的,就是說你varvariable后,可以隨便的給variable賦值,不會(huì)有任何問題??墒琴x給變量的值本身自己卻是有類型的,比如:String、Object、Boolean和Number等等。所以JS的變量還是有類型轉(zhuǎn)換的,當(dāng)然很多時(shí)候JS解析引擎會(huì)默認(rèn)處理很多的type convert。不過有的時(shí)候也需要我們強(qiáng)行轉(zhuǎn)換數(shù)據(jù)類型,最常見的就是:''+數(shù)字+數(shù)字,這種情況來生成字符串累加。

象:''+數(shù)字+數(shù)字,這樣的語法真的是比較的ugly,想我們?cè)贑中使用(int)xxx和C++中int(xxx)來做類型轉(zhuǎn)換多么的清晰明了。其實(shí)JavaScript也支持這樣的類型轉(zhuǎn)換語法的,例如:scriptlanguage="javascript"varstr='100';varnum=Number(100);alert(typeof(num)+':'+num);varobj=Object(str);alert(typeof(obj)+':'+obj);varbool=Boolean(str);alert(typeof(bool)+':'+bool);varnum=100;varstr=String(num);alert(typeof(str)+':'+str);varbool=Boolean(num);alert(typeof(bool)+':'+bool);varobj=Object(num);alert(typeof(obj)+':'+obj);varbool=true;varstr=String(bool);alert(typeof(str)+':'+str);varnum=Number(bool);alert(typeof(num)+':'+num);varobj=Object(bool);alert(typeof(obj)+':'+obj);varobj={};varstr=String(obj);alert(typeof(str)+':'+str);varnum=Number(obj);alert(typeof(num)+':'+num);varbool=Boolean(obj);alert(typeof(bool)+':'+bool);/script

除了Number(obj)轉(zhuǎn)換失敗,其它強(qiáng)行轉(zhuǎn)換表達(dá)式都能取得有意義的轉(zhuǎn)換效果。

使用強(qiáng)行轉(zhuǎn)換表達(dá)式最大的好處就是可以使程序代碼變得清晰,為本身就類型混亂的JavaScript編程減少混淆的可能。

至少我覺得類似:varstr = String(3) + String(3); 比varstr= '' + 3 + 3; 表意更清晰。

還有默認(rèn)轉(zhuǎn)換比較混亂的地方,比如:"88"-8和"88"+8,前者的默認(rèn)轉(zhuǎn)換是把字符串轉(zhuǎn)為數(shù)字(結(jié)果80),而后者又是把數(shù)字轉(zhuǎn)為字符串(結(jié)果"888")@_@,真是亂。所以使用變量類型強(qiáng)制轉(zhuǎn)換,就可能避免這類默認(rèn)轉(zhuǎn)換帶來的潛在理解出錯(cuò)的問題。


文章標(biāo)題:轉(zhuǎn)javascript的簡(jiǎn)單介紹
文章網(wǎng)址:http://weahome.cn/article/dsgdiii.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部