中文字幕理论片,69视频免费在线观看,亚洲成人app,国产1级毛片,刘涛最大尺度戏视频,欧美亚洲美女视频,2021韩国美女仙女屋vip视频

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
javascript 一 03 數(shù)據(jù)類型的轉(zhuǎn)換

強(qiáng)制轉(zhuǎn)換

Number() String() Boolean()

Number()

使用 Number 函數(shù),可以將任意類型的值轉(zhuǎn)化成數(shù)值。

Number(324); // 324
Number("324"); // 324
Number("324abc"); // NaN
Number(""); // 0
--Number(true); // 1
Number(false); // 0
--Number(undefined); // NaN
Number(null); // 0

Number 方法的參數(shù)是對象時,將返回 NaN,除非是包含單個數(shù)值的數(shù)組。

Number({ a: 1 }); // NaN
Number([1, 2, 3]); // NaN
Number([5]); // 5

簡析過程

var obj = { x: 1 };
Number(obj); // NaN
// 等同于
if (typeof obj.valueOf() === "object") {
  Number(obj.toString());
} else {
  Number(obj.valueOf());
}

首先調(diào)用 obj.valueOf 方法, 結(jié)果返回對象本身;于是,繼續(xù)調(diào)用 obj.toString 方法,這時返回字符串[object Object],對這個字符串使用 Number 函數(shù),得到 NaN。 默認(rèn)情況下,對象的 valueOf 方法返回對象本身,所以一般總是會調(diào)用 toString 方法,而 toString 方法返回對象的類型字符串(比如[object Object])

Number({}); // NaN

String()

String 函數(shù)可以將任意類型的值轉(zhuǎn)化成字符串

String(123); // "123"
String("abc"); // "abc"
String(true); // "true"
String(undefined); // "undefined"
String(null); // "null"
// 對象
String({ a: 1 }); // "[object Object]"
String([1, 2, 3]); // "1,2,3"

簡析過程

String({ a: 1 });
// "[object Object]"

// 等同于
String({ a: 1 }.toString());
// "[object Object]"
  • 01 先調(diào)用對象自身的 toString 方法。如果返回原始類型的值,則對該值使用 String 函數(shù),不再進(jìn)行以下步驟。

  • 02 如果 toString 方法返回的是對象,再調(diào)用原對象的 valueOf 方法。如果 valueOf 方法返回原始類型的值,則對該值使用 String 函數(shù),不再進(jìn)行以下步驟。

  • 03 如果 valueOf 方法返回的是對象,就報錯。

Boolean()

Boolean()函數(shù)可以將任意類型的值轉(zhuǎn)為布爾值

Boolean(undefined); // false
Boolean(null); // false
Boolean(0); // false
Boolean(NaN); // false
Boolean(""); // false
--Boolean(true); // true
Boolean(false); // false
--Boolean({}); // true
Boolean([]); // true
Boolean(new Boolean(false)); // true

自動轉(zhuǎn)換

自動轉(zhuǎn)換為布爾值

if (!undefined && !null && !0 && !NaN && !"") {
  console.log("true");
} // true

// 寫法一
expression ? true : false;

// 寫法二
!!expression;

自動轉(zhuǎn)換為字符串

"5" + 1; // '51'
"5" + true; // "5true"
"5" + false; // "5false"
"5" + {}; // "5[object Object]"
"5" + []; // "5"
"5" + function () {}; // "5function (){}"
"5" + undefined; // "5undefined"
"5" + null; // "5null"

自動轉(zhuǎn)換為數(shù)值

"5" - "2"; // 3
"5" * "2"; // 10
true - 1; // 0
false - 1; // -1
"1" - 1; // 0
"5" * []; // 0
false / "5"; // 0
"abc" - 1; // NaN
null + 1; // 1
undefined + 1; // NaN

方法轉(zhuǎn)換

字符串與數(shù)組的轉(zhuǎn)化

split() 方法功能:將字符串按某個字符切割成若干個字符串,并以數(shù)組形式返回

var str = "數(shù)組1,數(shù)組2,數(shù)組3,數(shù)組4,數(shù)組5";
var arry = str.split(",");
console.log(arry);
//["數(shù)組1", "數(shù)組2", "數(shù)組3", "數(shù)組4", "數(shù)組5"]

join() 方法功能:將數(shù)組元素用某個字符連接成字符串

var arry = ["數(shù)組1", "數(shù)組2", "數(shù)組3", "數(shù)組4", "數(shù)組5"];
var str = arry.join("-");
console.log(str); //數(shù)組1,數(shù)組2,數(shù)組3,數(shù)組4,數(shù)組5

數(shù)組與對象的轉(zhuǎn)化

var arry = ["數(shù)組1", "數(shù)組2", "數(shù)組3", "數(shù)組4", "數(shù)組5"];
console.log(Object.assign({}, arry));
//["數(shù)組1", "數(shù)組2", "數(shù)組3", "數(shù)組4", "數(shù)組5"]

復(fù)雜的數(shù)組可以用遍歷的方法

var formArr = [
  {
    name: "數(shù)組1",
    value: "11111",
  },
  {
    name: "數(shù)組2",
    value: "22222",
  },
  {
    name: "數(shù)組3",
    value: "33333",
  },
  {
    name: "數(shù)組4",
    value: "44444",
  },
];
var obj = {};
formArr.map(function (e, item) {
  obj[e.name] = e.value;
});
console.log(obj);

對象轉(zhuǎn)數(shù)組

var obj = {
  one: "11111",
  two: "22222",
  three: "33333",
  four: "44444",
};
var arr = [];
for (let i in obj) {
  let o = {};
  // console.log(i,obj[i])
  o[i] = obj[i];
  arr.push(o);
}
console.log(arr);

JSON 對象和 js 對象的相互轉(zhuǎn)換

// json 對象
 {
 "name":"張三",
 "age":"18",
 "address":"張丑丑呀"
 }
 // js 對象
var formData={
 name:'張三',
 age:18,
 address:'張丑丑呀'
 } ;

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

var formData = {
  name: "張三",
  age: 18,
  address: "張丑丑呀",
};
console.log(JSON.stringify(formData, ["name", "address", "age"]));
// {"name":"張三","address":"張丑丑呀","age":18}
console.log(JSON.stringify(formData, null, 4));
//     {
//     "name": "張三",
//     "age": 18,
//     "address": "張丑丑呀"
//     }

JSON.parse()
JSON.parse() 方法用于將一個 JSON 字符串轉(zhuǎn)換為對象。

var str = '{"name":"張三","age":"18","address":"張丑丑呀"}';
console.log(JSON.parse(str));

json 互轉(zhuǎn)及取值 [搬運(yùn)]

json類型的字符串轉(zhuǎn)換為json對象及取值

var jsonString = '{"bar":"property","baz":3}';
var jsObject = JSON.parse(jsonString);    //轉(zhuǎn)換為json對象
console.log(jsObject.bar);    //取json中的值

json對象轉(zhuǎn)為json類型的字符串

var jsonString = '{"bar":"property","baz":3}';
var jsObject = JSON.parse(jsonString); //轉(zhuǎn)換為json對象
alert(jsObject.bar); //取json中的值
var st = JSON.stringify(jsObject); //轉(zhuǎn)換為json類型的字符串  

json數(shù)組類型字符串取值

var jsonStr = '[{"id":"01","open":false,"pId":"0","name":"A部門"},{"id":"01","open":false,"pId":"0","name":"A部門"},{"id":"011","open":false,"pId":"01","name":"A部門"}]';
var jsonObj =  JSON.parse(jsonStr);//轉(zhuǎn)換為json對象
for(var i=0;i<jsonObj.length;i++){
        alert(jsonObj[i].id);  //取json中的值
}
console.log(jsonObj)
var jsonStr1 = JSON.stringify(jsonObj)
console.log(jsonStr1+"jsonStr1")
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
JSON.stringify()、JSON.parse()和eval(string)
JSON簡介以及用法匯總
Ajax(2) —— Ajax接收J(rèn)SON數(shù)據(jù)
json格式的字符串序列化和反序列化的一些高級用法
JavaScript——常用內(nèi)置對象
聊聊JavaScript在工作中常用的方法(一)
更多類似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服