JS对象

JS对象

属性

检测属性

  • JS对象可以看做属性的集合,可以通过in运算符、hasOwnPreperty()和propertyIsEnumerable()
  • in


    • var o={x:1}
      "x" in o;//true
      "y" in o;//false
      "toString" in o;// true :o 继承toString 属性
  • hasOwnProperty() 用来检测给定的名字是否是对象的自有属性

  • propertyIsEnumerable是hasOwnProperty()的增强版,只有检测到这个自由属性且这个属性的可枚举性为true时,它才返回true;
  • !== 判断一个属性是否是undefined,

枚举属性

删除属性

  • delete 运算符可以删除对象的属性,
  • delete 只是断开属性和宿主对象的联系而不会去操作属性中的属性
  • delete 只能删除自有属性,不能删除继承属性,(要删除继承属性必须从定义这个属性的原型对象上删除他,而且这会影响到所有继承自这个原型的对象)
  • 返回值待讨论,P128

属性特性(propertity attribute)

可写 (writable attribute)
可枚举(enumerable attribute)
可配置(configurable attribute)

自有属性

  • 直接在对象中定义的属性,可以用对象的hasOwnProperty()来检测给定的名字是否是对象的自有属性。

继承属性

  • 是在对象的原型对象中定义的属性
  • 当查询某个属性时,会先查询自有属性,如果没有,继续在其原型对象中查询,如果没有,且此原型对象还有原型,则继续查询,指导找到这个属性,或者查找到一个原型是null的对象为止。对象的原型属性构成了一个链。

属性的查询和设置

对象特性(object attribute)

对象的扩展标记

指明是否可以向该对象添加新属性(ECMAScript 5)

对象的类

标识对象类型的字符串

对象的原型

指向另一个对象,本对象的属性继承自它的原型对象。

宿主对象

  • 是JS解释器所嵌入的宿主环境定义的。

自定义对象

  • 运行中JS代码创建的对象。

内置对象

* 是ECMAScript规范定义的对象或类。

创建对象

对象直接量

  • 由若干名/值对组成的映射表,名/值对中用冒号分隔,名/值对之间用逗号分隔,整个映射表用花括号括起来。
    var book={
    "main title":"JS",
    "sub-title":"",
    author:{
    firstname:"D",
    secongname:"F"
    }
    };

new

  • 使用new运算符创建并初始化一个新对象,关键字new 后跟随一个函数调用。这个函数调用就是构造函数。
  • JS 语言核心中的原始类型都包含内置构造函数。

原型

  • 每一个JS对象(除null外)都和另一个对象相关联,这个对象就是原型,每一个对象都从原型继承属性。
  • 所有通过对象直接量创建的对象都具有同一个原型对象,并可以通过JS代码Object.prototype获得对原型对象的引用。
  • 通过关键字 new 和构造函数调用创建的对象的原型就是构造函数的prototype属性的值。
  • Object.property没有原型对象。不继承任何属性,

Object.create()

  • 是一个静态函数,须传入所需的原型对象。也可以是一个null,表示创建没有原型的新对象。
### 回答1: JavaScript对象编程是指使用JavaScript语言创建和操作对象的过程。在JavaScript中,对象是一种复合数据类型,可以包含属性和方法。对象可以通过字面量、构造函数、原型等方式创建。通过对象编程,可以实现面向对象编程的思想,使代码更加模块化、可维护和可扩展。在JavaScript中,对象是非常重要的概念,掌握对象编程是成为一名优秀的JavaScript开发者的必备技能之一。 ### 回答2: JavaScript是一种流行的编程语言,其中面向对象编程(OOP)是其中的重要组成部分。对象JavaScript编程中最重要的概念之一,它是一种数据类型,通过对象可以轻松地组织和管理数据。JS对象包含了一组属性和方法,可以用来描述某个对象的性质和行为。 在JavaScript中,对象是动态创建的。创建对象的方法有很多,其中最简单的就是使用字面量,例如: var person = { name: 'Tom', age: 20, gender: 'male', sayHi: function() { console.log('Hi, my name is ' + this.name + ',I am ' + this.age + ' years old.') } }; 上面的代码定义了一个名为person的对象,该对象具有属性name、age、gender和方法sayHi。使用字面量创建对象的好处是,可以轻松地在代码中定义对象,而无需使用专门的构造函数。 当然,也可以使用构造函数来创建对象,例如: function Person(name, age, gender) { this.name = name; this.age = age; this.gender = gender; this.sayHi = function() { console.log('Hi, my name is ' + this.name + ',I am ' + this.age + ' years old.') } }; var person = new Person('Tom', 20, 'male'); 上面的代码定义了一个名为Person的构造函数,在创建对象时使用了new关键字来调用该构造函数,返回一个新的person对象。这个对象包含了属性name、age、gender和方法sayHi。 在JavaScript中,对象是可以嵌套的。可以在对象中嵌套其他对象,也可以在对象中嵌套函数,这些函数就是对象的方法。通过对象的嵌套,可以更好地管理数据,使程序更加规范和易于维护。 总之,JavaScript对象编程是一种强大且灵活的编程方式,通过对象可以轻松地组织和管理数据,从而实现更好的开发效率和代码质量。由于JavaScript的广泛应用,对于对象编程的掌握将有助于开发者更好地掌握这门语言。 ### 回答3: 在JavaScript中,对象是一种基础数据类型,也是语法的重要组成部分。对象是由若干属性构成的,每个属性都是键值对的形式,其中键是字符串类型,值可以是任意的JavaScript数据类型,包括对象。通过定义对象的属性和方法,我们可以在JavaScript中创建功能强大的程序。 JavaScript对象编程有以下几个重要概念: 1. 对象字面量:使用“{}”来定义对象,字符:“:”分割键与值,“,”分割不同键值对。如:var obj = {name: "小明", age: 18}; 2. 访问对象属性:使用“.”操作符访问对象属性。如:obj.name 3. 新增属性:使用“.”或“[]”,如:obj.height = 180; 或 obj['sex'] = 'male'; 4. 删除属性:使用“delete”关键字,如:delete obj.age; 5. 遍历对象属性:使用“for...in...”语句遍历对象属性,如: for(var key in obj) { console.log(key + ": " + obj[key]); } 6. 面向对象编程:JavaScript中也可以实现面向对象编程。定义一个构造函数,然后使用“new”关键字创建对象实例,如: function Person(name, age) { this.name = name; this.age = age; this.sayHello = function () { console.log("Hello, my name is " + this.name + ", I'm " + this.age + " years old."); } } var p = new Person('小明', 18); p.sayHello(); // 输出:Hello, my name is 小明, I'm 18 years old. JavaScript对象编程是非常灵活的,我们可以根据需要动态地定义、操作对象,同时结合面向对象编程,使得JavaScript的代码结构更加清晰有序。掌握好JavaScript对象编程的技巧,可以让我们开发出更高效、更具有扩展性的项目。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值