日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > php >内容正文

php

php 获取 js json数据类型,JS基础-JS的数据类型和访问/流程控制/JSON格式字符串和js对象相互转换...

發(fā)布時(shí)間:2024/9/27 php 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php 获取 js json数据类型,JS基础-JS的数据类型和访问/流程控制/JSON格式字符串和js对象相互转换... 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

JS的數(shù)據(jù)類(lèi)型和訪問(wèn)/流程控制/JSON格式字符串和js對(duì)象相互轉(zhuǎn)換

1. JS的數(shù)據(jù)類(lèi)型和訪問(wèn)

1.1. 原始類(lèi)型JS中的原始數(shù)據(jù)類(lèi)型有: number , string , boolean ;

聲明變量使用 var 關(guān)鍵字.

/* 數(shù)字類(lèi)型 */

varyear=2020;

/* 字符串類(lèi)型 */

varname='zhangsan';

/* 布爾類(lèi)型 */

varisUpdate=false;

獲取變量的數(shù)據(jù)類(lèi)型使用 typeof . 使用方式: typeof 變量名 .

varsite='php.cn';

// 使用typeof來(lái)獲取變量的數(shù)據(jù)類(lèi)型

vardataType=typeofsite;

document.write(dataType);

/* result: string */

1.2 特殊類(lèi)型JS中兩個(gè)特殊的值類(lèi)型: null , undefined .

當(dāng)只聲明變量, 沒(méi)有初始化變量值時(shí), 此時(shí)變量的值是 undefined . 即, var param; 等效于 var param = undefined; .

varparam;

document.write(param);

/* result: undefined */

varparam1=null;

document.write(param1);

/* result: null */

特別的: null == undefined 返回的是 true ; 而 null === undefined 則返回 false

document.write(null==undefined);

/* result: true */

document.write(null===undefined);

/* result: false */

null 和 undefined 的區(qū)別: null 表示空對(duì)象; undefined 表示非對(duì)象類(lèi)型的變量值為空/無(wú).

// 獲取null的數(shù)據(jù)類(lèi)型

vardataType=typeofnull;

document.write(dataType);

/* result: object */

null / undefined 轉(zhuǎn)換為原始類(lèi)型數(shù)據(jù)的值

null / undefined 轉(zhuǎn)換為布爾值, 值轉(zhuǎn)為為 false ;

if(!null)document.write('我被輸出了
');

if(!undefined)document.write('我被打印了');

/* result:

我被輸出了

我被打印了 */

null / undefined 轉(zhuǎn)換為字符串時(shí), 值轉(zhuǎn)為: "null" / "undefined" .

document.write(null+'
');

document.write(undefined+'
');

/* result:

null

undefined */

null 轉(zhuǎn)為數(shù)值時(shí), 值為: 0 ; undefined 則不能轉(zhuǎn)為數(shù)字(輸出: NaN).

document.write(null+100);

document.write(undefined+100);

/* result:

100

NaN

*/

1.3 對(duì)象類(lèi)型: array , object , function在js中, 除開(kāi) null 和 undefined , 所有數(shù)據(jù)類(lèi)型都是對(duì)象, 包括原始類(lèi)型.

// 證明原始類(lèi)型數(shù)據(jù)也是對(duì)象: 都能通過(guò)他們調(diào)用內(nèi)置方法

varnum=3.1415926;

varname='zhangsan';

// 把num的值四舍五入, 保留3位小數(shù)

console.log(num.toFixed(3));

console.log(name.toUpperCase());

/* result:

3.142

ZHANGSAN

*/

1.3.1 數(shù)組類(lèi)型JS中的數(shù)組跟PHP中的索引數(shù)組類(lèi)似

// 定義數(shù)組

varplayer=['James','Davis','Green','Rondo','Kuzma'];

document.writeln(player);

/* result: James,Davis,Green,Rondo,Kuzma James */

// 獲取數(shù)組的中的元素

document.writeln(player[0]);

/* result: James */

判斷變量是否為數(shù)組類(lèi)型, 用 Array.isArray(變量名) , 因?yàn)?typeof 變量名 的返回值是 object , 不夠具體.

// 定義數(shù)組

varplayer=['James','Davis','Green','Rondo','Kuzma'];

document.writeln('"typeof player" 的值是:'+(typeofplayer));

document.writeln('變量"player"的值'+(Array.isArray(player)?'是':'不是')+'數(shù)組');

/* result:

"typeof player" 的值是:object

變量"player"的值是數(shù)組

*/

數(shù)組循環(huán)

for 循環(huán)

varplayer=['James','Davis','Green','Rondo','Kuzma'];

for(varindex=0;index

document.write(player[index]+", ");

}

/* result: James, Davis, Green, Rondo, Kuzma, */

forEach 循環(huán)

使用格式: array.forEach(function(當(dāng)前遍歷到的元素, 當(dāng)前遍歷到的元素在數(shù)組中的索引[可選], 受遍歷的數(shù)組[可選]) {...})

varplayer=['James','Davis','Green','Rondo','Kuzma'];

player.forEach(function(p,index){

document.write("第"+(index+1)+"位出場(chǎng)的是"+p+'
');

});

/*

第1位出場(chǎng)的是James

第2位出場(chǎng)的是Davis

第3位出場(chǎng)的是Green

第4位出場(chǎng)的是Rondo

第5位出場(chǎng)的是Kuzma

*/

數(shù)組函數(shù)

array.slice 函數(shù)

用法: targetArr.slice(起始位置, 結(jié)束位置 + 1) : 獲取JS數(shù)組中的”起始位置”到”結(jié)束為止”之間的元素

varplayer=['James','Davis','Green','Rondo','Kuzma'];

// 返回前3個(gè)球員

document.write(player.slice(0,3));

/* result : James,Davis,Green */

array.splice 函數(shù)

類(lèi)似PHP中的數(shù)組函數(shù) splice , 可以用它實(shí)現(xiàn)對(duì)數(shù)組元素的增刪改.

使用語(yǔ)法: array.splice(起始位置, 元素個(gè)數(shù)[可選], 替換元素1[可選], 替換元素2[可選]...) ; 其中 替換元素1, 替換元素2... 可以以數(shù)組的形式傳入: [替換元素1, 替換元素2...]

實(shí)現(xiàn)向當(dāng)前數(shù)組中插入元素: targetArr.splice(起始位置, 0, 插入元素1, 插入元素2...)

varplayer=['James','Davis','Green','Rondo','Kuzma'];

// 在Davis后面插入Bradley, McGee

player.splice(2,0,['Bradley','McGee']);

document.write(player);

/* result: James,Davis,Bradley,McGee,Green,Rondo,Kuzma */

-2.實(shí)現(xiàn)刪除當(dāng)前數(shù)組中的元素:`targetArr.splice(起始位置, 元素個(gè)數(shù))`

varplayer=['James','Davis','Green','Rondo','Kuzma'];

// 刪除Green, Rondo

player.splice(2,2);

document.write(player);

/* result: James,Davis,Kuzma */

-3.實(shí)現(xiàn)更新當(dāng)前數(shù)組中元素的值:`targetArr.splice(起始位置, 元素個(gè)數(shù), 替換后的值1, 替換后的值2[可選]...)`

varplayer=['James','Davis','Green','Rondo','Kuzma'];

// 把Davis, Green, Rondo更新為中文名

player.splice(1,3,['戴維斯','格林','隆多']);

document.write(player);

/* result: James,戴維斯,格林,隆多,Kuzma */

1.3.2 對(duì)象JS中的對(duì)象跟PHP中的關(guān)聯(lián)數(shù)組相似.

定義對(duì)象

// 創(chuàng)建對(duì)象-1

varplayer1={

name:'James',

team:'湖人',

age:35,

// JS中, 如果屬性名含有非法字符, 則用雙引號(hào) `"` 將其括起來(lái)

"player info":{

height:'203',

weight:'113',

position:'F-G'

}

};

// 以表格的形式打印對(duì)象

console.table(player1);

// 另一種定義對(duì)象屬性的方式見(jiàn)下面的例子

執(zhí)行結(jié)果:

訪問(wèn)對(duì)象屬性, 有兩種方式一種是: 對(duì)象名.屬性名 ; 另一種是類(lèi)似PHP中的關(guān)聯(lián)數(shù)組: 對(duì)象名[屬性名] . 還有非法字符的屬性名, 只能用第二種方式訪問(wèn).

// 創(chuàng)建對(duì)象-2

varplayer2={};

player2.name="James";

player2.team='湖人';

player2.age=35;

player2["player info"]={

height:'203',

weight:'113',

position:'F-G'

};

// 訪問(wèn)對(duì)象屬性

document.write('姓名:'+player2.name+'
');

document.write('球隊(duì):'+player2.team+'
');

document.write('年齡:'+player2['age']+'
');

document.write('身高:'+player2['player info'].height+'
');

document.write('體重:'+player2['player info']['weight']+'
');

document.write('司職:'+player2['player info']['position']+'
');

/*

姓名:James

球隊(duì):湖人

年齡:35

身高:203

體重:113

司職:F-G

*/

遍歷對(duì)象屬性

遍歷對(duì)象方法1: 使用 for 屬性名 in 對(duì)象 . 語(yǔ)法: for(對(duì)象鍵名 in 對(duì)象), 在遍歷中, 用 對(duì)象名["屬性名"] 的方式獲取元素值更穩(wěn)一些, 避免出現(xiàn)非法字符遍歷報(bào)錯(cuò).

varplayer1={

name:'James',

team:'湖人',

age:35,

// JS中, 如果屬性名含有非法字符, 則用雙引號(hào) `"` 將其括起來(lái)

"player info":{

height:'203',

weight:'113',

position:'F-G'

}

};

// for...in...遍歷對(duì)象屬性.

for(prop in player1){

varvalue=player1[prop];

if(typeofvalue!='object')

document.write(prop+': '+value+'
');

else// 如果屬性值是對(duì)象, 繼續(xù)遍歷

for(prop1 in value){

varvalue1=value[prop1];

document.write(prop1+': '+value1+'
');

}

}

/* result

name: James

team: 湖人

age: 35

height: 203

weight: 113

position: F-G

*/

遍歷對(duì)象方法2: 使用 Object.keys(對(duì)象) 獲取對(duì)象的屬性名組成的數(shù)組, 再借助數(shù)組的 forEach 進(jìn)行遍歷.

varplayer1={

name:'James',

team:'湖人',

age:35,

// JS中, 如果屬性名含有非法字符, 則用雙引號(hào) `"` 將其括起來(lái)

"player info":{

height:'203',

weight:'113',

position:'F-G'

}

};

// 獲取屬性名數(shù)組

varprops=Object.keys(player1);

props.forEach(function(prop){

varvalue=player1[prop];

if(typeofvalue!='object')

document.write(prop+': '+value+'
');

else{

// 如果屬性值是對(duì)象, 繼續(xù)遍歷

varprops1=Object.keys(value);

props1.forEach(function(prop1){

varvalue1=value[prop1];

document.write(prop1+': '+value1+'
');

});

}

});

/* result:

name: James

team: 湖人

age: 35

height: 203

weight: 113

position: F-G

*/

總結(jié)

以上是生活随笔為你收集整理的php 获取 js json数据类型,JS基础-JS的数据类型和访问/流程控制/JSON格式字符串和js对象相互转换...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。