JavaScript Object

黄良钵

分类: 程序开发 704 0

  1. var p = {}
  2. p.name = 'wangBaoQiang'
  3. p.age = 3
  4. p.isMale = true
  5. console.log(p)
  6. // delete p.isMale
  7. // console.log(p)
  8. // Object.freeze(p)
  9. // delete p.age
  10. // console.log(p)
  11. // Object.freeze() 冻结一个对象冻结后对象的属性不能被删除
  12. // 冻结是冻结的整个对象而不是某一个属性
  13. // 冻结后属性的值无法改变 不能添加新属性
  14. // p.age = 4
  15. // console.log(p)            
  16. // console.log(Object.isFrozen(p))
  17. // Object.isFrozen() 判断对象是否被冻结
  18. // console.log(p)            
  19. // Object.seal() 密封一个对象 密封后属性不能被删除 但可以被改变
  20. // 密封后不能添加新属性
  21. // Object.seal(p)
  22. // delete p.age
  23. // p.age = 8
  24. // p.height = 99
  25. // console.log(p)            
  26. // console.log(Object.isSealed(p))
  27. // Object.isSealed() 判断是否被密封
  28. // Object.preventExtensions() 只能阻止添加属性或方法 不能阻止删除 不能阻止修改属性或方法
  29. // Object.preventExtensions(p)
  30. // p.weight = 22
  31. // console.log(p)       
  32. // console.log(Object.isExtensible(p))
  33. // Object.isExtensible() 判断对象是否被扩展
  34. // console.log(p)
  35. // freeze > seal > preventExtensions
  36. // freeze 对象不可改变
  37. // seal 只能修改值
  38. // preventExtensions 只能阻止添加属性和方法
  39. Object.defineProperty(p, 'course', {
  40.     enumerable: false,
  41.     value: 'HTML5'
  42. })
  43. console.log(p)
  44. var keys = Object.getOwnPropertyNames(p)
  45. console.log(keys)
  46. // getOwnPropertyNames 获取对象中属性的名字
  47. keys = Object.keys(p)
  48. // Object.keys() 返回自身属性
  49. console.log(keys)
  50. // for(var key in p){
  51. //     console.log(key)
  52. // }
  53. console.log(p.hasOwnProperty('course1'))
  54. // hasOwnProperty() 判断是否拥有指定的属性
  55. console.log(p.propertyIsEnumerable('course'))
  56. // propertyIsEnumerable() 判断属性是否被列举
  57. var b = new Object(true)
  58. console.log(b)
  59. console.log(b.valueOf())
  60. // valueOf() 从对象中取出值
  61. console.log(p.toString())
  62. console.log(b.toString())
  63. // 每个对象都有toString()方法 但是对象可以改变这个方法的实现从而返回不同的值
  64. // 一般对象返回[Object 对象构造函数名字]
  65. // 其他对象不会返回特定的值如布尔对象返回 true/false 字符串
  66. // Date对象返回 日期字符串
  67. // 数字对象返回 数字字符串
  68. var n =new Number(3.14)
  69. console.log(n.toString())
  70. console.log(Object.prototype.toString.call(n))
  71. console.log(Object.prototype.toString.call('ff'))
  72. // 可以通过上面的方法获取对象的类型
  • 0人 Love
  • 0人 Haha
  • 0人 Wow
  • 0人 Sad
  • 0人 Angry
JavaScript、Object

作者简介: 黄良钵

打赏

博客站长,前端开发工程师

共 0 条评论关于 “JavaScript Object”

Loading...