12.属性名和属性值.html 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <title>Document</title>
  8. <script>
  9. var obj = new Object();
  10. /*
  11. 向对象中添加属性
  12. 属性名:
  13. -对象的属性名不强制要求遵守标识符的规范
  14. 什么乱七八糟的名字都可以使用
  15. -但是我们使用时还是尽量按照标识符的规范去做
  16. */
  17. obj.name = "孙悟空";
  18. // obj.var = "hello";//var属于关键字,也不会报错
  19. // console.log(obj);
  20. // console.log(obj.var);
  21. /*
  22. 如果要使用特殊的属性名,不能采用“.”的方式来操作
  23. 需要使用另一种方式:
  24. 语法:对象["属性名"]=属性值;
  25. 读取时也需要采用这种方式
  26. 使用[]这种形式去操作属性,更加的灵活,
  27. 在[]中可以直接传递一个变量,这样变量值是多少就会读取哪个属性
  28. */
  29. //obj.123 = 789;//会报错
  30. obj["123"] = 789;
  31. obj["nihao"] = "你好";
  32. var n = "nihao";
  33. // console.log(obj[n]);
  34. /*
  35. 属性值
  36. JS对象的属性值,可以是任意的数据类型
  37. 甚至也可以是一个对象
  38. */
  39. obj.test = "hello";
  40. obj.test = null;
  41. obj.test = undefined;
  42. //创建一个对象obj2
  43. var obj2 = new Object();
  44. obj2.name = "二师兄";
  45. //将obj2设置为obj的属性
  46. obj.test = obj2;
  47. console.log(obj);
  48. console.log(obj.test);//读取obj2
  49. console.log(obj.test.name);//读取obj2里面的name属性
  50. /*
  51. in运算符
  52. -通过该运算符可以检查一个对象中是否含有指定的属性
  53. 如果有则返回true,没有则返回false
  54. -语法:
  55. “属性名” in 对象;
  56. */
  57. //检查obj中是否含有test2属性
  58. console.log("test2" in obj);//没有,所以输出为false
  59. console.log("test" in obj);//有,所以输出为true
  60. console.log("name" in obj);//有,所以输出为true
  61. </script>
  62. </head>
  63. <body>
  64. </body>
  65. </html>