JavaScript屬性操作
一、屬性的設(shè)置和獲取
1、屬性的設(shè)置和獲取主要有兩種方式:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>JavaScript中屬性的基本操作</title> <script> window.onload=function(){ // 屬性的設(shè)置或獲取 var obj={}; // 通過"."號(hào)的方式設(shè)置屬性 obj.name="tom"; // 通過"[]"的方式設(shè)置屬性 obj["age"]=20; // 通過"."號(hào)的方式獲取屬性 console.log("姓名:"+obj.name); // 通過"[]"的方式獲取屬性 console.log("年齡:"+obj["age"]); }; </script> </head> <body> </body> </html>
運(yùn)行結(jié)果:
2、兩種方式的區(qū)別
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>JavaScript中屬性的基本操作</title> <script> window.onload=function(){ // 屬性的設(shè)置或獲取 var obj={}; // 通過"."號(hào)的方式設(shè)置屬性 obj.name="tom"; // 通過"[]"的方式設(shè)置屬性 obj["age"]=20; // 通過"."號(hào)的方式獲取屬性 console.log("姓名:"+obj.name); // 通過"[]"的方式獲取屬性 console.log("年齡:"+obj["age"]); // 區(qū)別 // "."號(hào)只能取本身的屬性,"[]"里面可以是變量,也可以是自身的屬性 var obj1={ name:"jack", age:18 }; // 定義一個(gè)變量 var a="name"; console.log(obj2[a]);//等同于 console.log(obj2["name"]); // console.log(obj2.a) 錯(cuò)誤的寫法,.只能取自身的屬性 console.log(obj2.name); }; </script> </head> <body> </body> </html>
運(yùn)行結(jié)果:
二、屬性的刪除
看下面的例子:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>JavaScript中屬性的基本操作</title> <script> window.onload=function(){ // 屬性的設(shè)置或獲取 /* var obj={}; // 通過"."號(hào)的方式設(shè)置屬性 obj.name="tom"; // 通過"[]"的方式設(shè)置屬性 obj["age"]=20; // 通過"."號(hào)的方式獲取屬性 console.log("姓名:"+obj.name); // 通過"[]"的方式獲取屬性 console.log("年齡:"+obj["age"]); // 區(qū)別 // "."號(hào)只能取本身的屬性,"[]"里面可以是變量,也可以是自身的屬性 var obj1={ name:"jack", age:18 }; // 定義一個(gè)變量 var a="name"; console.log(obj2[a]);//等同于 console.log(obj2["name"]); // console.log(obj2.a) 錯(cuò)誤的寫法,.只能取自身的屬性 console.log(obj2.name); */ // 屬性的刪除 var obj2={ name:"jack", age:18, sex:"男", email:"747934521@qq.com" }; // 通過.刪除age屬性 delete obj2.age console.log(obj2); // 通過[]刪除sex屬性 delete obj2["sex"]; console.log(obj2); // 同樣也可以通過變量刪除 var temp="email"; delete obj2[temp]; console.log(obj2); }; </script> </head> <body> </body> </html>
運(yùn)行結(jié)果:
三、判斷屬性是否存在
1、使用in運(yùn)算符。如果屬性存在返回true,屬性不存在返回false,看下面的例子:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>JavaScript中屬性的基本操作</title> <script> window.onload=function(){ // 屬性的設(shè)置或獲取 /* var obj={}; // 通過"."號(hào)的方式設(shè)置屬性 obj.name="tom"; // 通過"[]"的方式設(shè)置屬性 obj["age"]=20; // 通過"."號(hào)的方式獲取屬性 console.log("姓名:"+obj.name); // 通過"[]"的方式獲取屬性 console.log("年齡:"+obj["age"]); // 區(qū)別 // "."號(hào)只能取本身的屬性,"[]"里面可以是變量,也可以是自身的屬性 var obj1={ name:"jack", age:18 }; // 定義一個(gè)變量 var a="name"; console.log(obj2[a]);//等同于 console.log(obj2["name"]); // console.log(obj2.a) 錯(cuò)誤的寫法,.只能取自身的屬性 console.log(obj2.name); */ // 屬性的刪除 /* var obj2={ name:"jack", age:18, sex:"男", email:"747934521@qq.com" }; // 通過.刪除age屬性 delete obj2.age console.log(obj2); // 通過[]刪除sex屬性 delete obj2["sex"]; console.log(obj2); // 同樣也可以通過變量刪除 var temp="email"; delete obj2[temp]; console.log(obj2); */ // 屬性的檢測(cè) // in 運(yùn)算符 判斷對(duì)象中的屬性是否存在 var obj3={ name:"jack", age:18 }; console.log("name" in obj3); console.log("sex" in obj3); }; </script> </head> <body> </body> </html>
運(yùn)行結(jié)果:
2、使用對(duì)象的hasOwnProperty()方法
同樣,如果屬性存在返回true,屬性不存在返回false,看下面的例子:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>JavaScript中屬性的基本操作</title> <script> window.onload=function(){ // 屬性的設(shè)置或獲取 /* var obj={}; // 通過"."號(hào)的方式設(shè)置屬性 obj.name="tom"; // 通過"[]"的方式設(shè)置屬性 obj["age"]=20; // 通過"."號(hào)的方式獲取屬性 console.log("姓名:"+obj.name); // 通過"[]"的方式獲取屬性 console.log("年齡:"+obj["age"]); // 區(qū)別 // "."號(hào)只能取本身的屬性,"[]"里面可以是變量,也可以是自身的屬性 var obj1={ name:"jack", age:18 }; // 定義一個(gè)變量 var a="name"; console.log(obj2[a]);//等同于 console.log(obj2["name"]); // console.log(obj2.a) 錯(cuò)誤的寫法,.只能取自身的屬性 console.log(obj2.name); */ // 屬性的刪除 /* var obj2={ name:"jack", age:18, sex:"男", email:"747934521@qq.com" }; // 通過.刪除age屬性 delete obj2.age console.log(obj2); // 通過[]刪除sex屬性 delete obj2["sex"]; console.log(obj2); // 同樣也可以通過變量刪除 var temp="email"; delete obj2[temp]; console.log(obj2); */ // 屬性的檢測(cè) // in 運(yùn)算符 判斷對(duì)象中的屬性是否存在 /* var obj3={ name:"jack", age:18 }; console.log("name" in obj3); console.log("sex" in obj3); */ // 使用對(duì)象的hasOwnProperty()方法 var obj4={ name:"jack", age:18 }; console.log(obj4.hasOwnProperty("name")); console.log(obj4.hasOwnProperty("sex")); }; </script> </head> <body> </body> </html>
運(yùn)行結(jié)果:
注意:這里也可以使用變量的方式進(jìn)行判斷屬性是否存在,例如:
3、使用undefined判斷
如果屬性的值不等于undefined,則表示屬性存在,返回true。如果屬性的值等于undefined,則表示屬性不存在,返回false。看下面的例子:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>JavaScript中屬性的基本操作</title> <script> window.onload=function(){ // 屬性的設(shè)置或獲取 /* var obj={}; // 通過"."號(hào)的方式設(shè)置屬性 obj.name="tom"; // 通過"[]"的方式設(shè)置屬性 obj["age"]=20; // 通過"."號(hào)的方式獲取屬性 console.log("姓名:"+obj.name); // 通過"[]"的方式獲取屬性 console.log("年齡:"+obj["age"]); // 區(qū)別 // "."號(hào)只能取本身的屬性,"[]"里面可以是變量,也可以是自身的屬性 var obj1={ name:"jack", age:18 }; // 定義一個(gè)變量 var a="name"; console.log(obj2[a]);//等同于 console.log(obj2["name"]); // console.log(obj2.a) 錯(cuò)誤的寫法,.只能取自身的屬性 console.log(obj2.name); */ // 屬性的刪除 /* var obj2={ name:"jack", age:18, sex:"男", email:"747934521@qq.com" }; // 通過.刪除age屬性 delete obj2.age console.log(obj2); // 通過[]刪除sex屬性 delete obj2["sex"]; console.log(obj2); // 同樣也可以通過變量刪除 var temp="email"; delete obj2[temp]; console.log(obj2); */ // 屬性的檢測(cè) // in 運(yùn)算符 判斷對(duì)象中的屬性是否存在 /* var obj3={ name:"jack", age:18 }; console.log("name" in obj3); console.log("sex" in obj3); */ // 使用對(duì)象的hasOwnProperty()方法 /* var obj4={ name:"jack", age:18 }; console.log(obj4.hasOwnProperty("name")); console.log(obj4.hasOwnProperty("sex")); // 使用變量的方式判斷 var temp="name"; console.log(obj4.hasOwnProperty(temp)); var temp1="email"; console.log(obj4.hasOwnProperty(temp1)); */ // 判斷屬性的值是否不等于undefined var obj5={ name:"jack", age:18 }; console.log(obj5.name!=undefined); console.log(obj5.sex!=undefined); }; </script> </head> <body> </body> </html>
運(yùn)行結(jié)果:
注意:如果屬性的值正好是undefined,那么這時(shí)就不能用這種判斷了,看下面的例子:
四、屬性的遍歷
1、使用for...in遍歷屬性
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>JavaScript中屬性的基本操作</title> <script> window.onload=function(){ // 屬性的設(shè)置或獲取 /* var obj={}; // 通過"."號(hào)的方式設(shè)置屬性 obj.name="tom"; // 通過"[]"的方式設(shè)置屬性 obj["age"]=20; // 通過"."號(hào)的方式獲取屬性 console.log("姓名:"+obj.name); // 通過"[]"的方式獲取屬性 console.log("年齡:"+obj["age"]); // 區(qū)別 // "."號(hào)只能取本身的屬性,"[]"里面可以是變量,也可以是自身的屬性 var obj1={ name:"jack", age:18 }; // 定義一個(gè)變量 var a="name"; console.log(obj2[a]);//等同于 console.log(obj2["name"]); // console.log(obj2.a) 錯(cuò)誤的寫法,.只能取自身的屬性 console.log(obj2.name); */ // 屬性的刪除 /* var obj2={ name:"jack", age:18, sex:"男", email:"747934521@qq.com" }; // 通過.刪除age屬性 delete obj2.age console.log(obj2); // 通過[]刪除sex屬性 delete obj2["sex"]; console.log(obj2); // 同樣也可以通過變量刪除 var temp="email"; delete obj2[temp]; console.log(obj2); */ // 屬性的檢測(cè) // in 運(yùn)算符 判斷對(duì)象中的屬性是否存在 /* var obj3={ name:"jack", age:18 }; console.log("name" in obj3); console.log("sex" in obj3); */ // 使用對(duì)象的hasOwnProperty()方法 /* var obj4={ name:"jack", age:18 }; console.log(obj4.hasOwnProperty("name")); console.log(obj4.hasOwnProperty("sex")); // 使用變量的方式判斷 var temp="name"; console.log(obj4.hasOwnProperty(temp)); var temp1="email"; console.log(obj4.hasOwnProperty(temp1)); */ // 判斷屬性的值是否不等于undefined /* var obj5={ name:"jack", age:18 }; console.log(obj5.name!=undefined); console.log(obj5.sex!=undefined); // var obj6={ name:undefined, age:18 }; console.log(obj6.name!=undefined); */ // 屬性的遍歷 // for...in 遍歷對(duì)象的屬性 var obj7={ a:"1", b:"2", c:"3" }; for(var v in obj7){ // 輸出obj7的屬性 console.log(v); // 輸出屬性對(duì)應(yīng)的值 console.log(obj7[v]); } }; </script> </head> <body> </body> </html>
運(yùn)行結(jié)果:
for..in同樣也可以遍歷數(shù)組:
五、序列化
1、JSON.stringify()將對(duì)象序列化成JSON格式的字符串,前端傳遞數(shù)據(jù)給后臺(tái)的時(shí)候使用,例如:
2、JSON.parse()將JSON格式的字符串轉(zhuǎn)換成對(duì)象,后臺(tái)把數(shù)據(jù)傳遞到前端的時(shí)候使用,例如:
到此這篇關(guān)于JavaScript屬性操作的文章就介紹到這了。希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- JavaScript對(duì)象屬性操作實(shí)例解析
- 基于js對(duì)象,操作屬性、方法詳解
- JS Attribute屬性操作詳解
- JavaScript對(duì)象屬性檢查、增加、刪除、訪問操作實(shí)例
- js操作css屬性實(shí)現(xiàn)div層展開關(guān)閉效果的方法
- JavaScript創(chuàng)建一個(gè)object對(duì)象并操作對(duì)象屬性的用法
- JS操作HTML自定義屬性的方法
- javascript數(shù)組操作總結(jié)和屬性、方法介紹
- javascript對(duì)象的使用和屬性操作示例詳解
- JS批量操作CSS屬性詳細(xì)解析
- 如何通過javascript操作web控件的自定義屬性
相關(guān)文章
bootstrap fileinput 上傳插件的基礎(chǔ)使用
這篇文章主要介紹了bootstrap fileinput 上傳插件基礎(chǔ)使用,重點(diǎn)是把界面做得更加友好,更好的增加用戶體驗(yàn)。對(duì)bootstrap fileinput知識(shí)感興趣的朋友通過本文一起學(xué)習(xí)吧2017-02-02微信小程序跳轉(zhuǎn)外部鏈接的詳細(xì)實(shí)現(xiàn)方法
寫這個(gè)是因?yàn)樽罱〕绦虻囊粋€(gè)需求需要從小程序跳轉(zhuǎn)到客戶的官網(wǎng),或者其他外部報(bào)名鏈接,下面這篇文章主要給大家介紹了關(guān)于微信小程序跳轉(zhuǎn)外部鏈接的詳細(xì)實(shí)現(xiàn)方法,需要的朋友可以參考下2022-10-10

js實(shí)現(xiàn)精確到秒的倒計(jì)時(shí)效果

微信小程序 JS動(dòng)態(tài)修改樣式的實(shí)現(xiàn)方法

javascript設(shè)計(jì)模式之模塊模式學(xué)習(xí)筆記