美文网首页
JS--对象

JS--对象

作者: MokZF | 来源:发表于2017-11-20 22:18 被阅读0次
  • JS 对象
    JavaScript的对象是一种无序的集合数据类型,它由若干键值对组成。
    JavaScript用一个{...}表示一个对象,键值对以xxx: xxx形式申明,用,隔开。注意:最后一个键值对不需要在最后添加,。例如声明一个学生对象:
var studentA = {
        name : "Tom",
        age : "14"
}

访问属性是通过.操作符完成的,但这要求属性名必须是一个有效的变量名。如果属性名包含特殊字符,就必须用' '括起来,例如给studentA对象添加一个属性class-numer,由于属性名含有特殊字符-,则该属性要以以下格式进行声明:

var studentA = {
        name : "Tom",
         age : "14",
 'class-numer' : 2
}
  • 由于JavaScript的对象是动态类型,你可以自由地给一个对象添加或删除属性:
var studentA = {
    name: 'Tom'
};
studentA.age; // undefined
studentA.age = 18; // 新增一个age属性
studentA.age; // 18
delete studentA.age; // 删除age属性
studentA.age; // undefined
delete studentA['name']; // 删除name属性
studentA.name; // undefined
delete studentA.height; // 删除一个不存在的school属性也不会报错
  • 如果我们要检测某个对象是否拥有某一属性,可以用in操作符,检测某个对象是否拥有某一属性应该注意该属性可能是该对象从父类那里继承过来的,此时也会返回true:
'name' in studentA; // true
'toString' in studentA; // true    因为toString定义在object对象中,而所有对象最终都会在原型链上指向object

要判断一个属性是否是某个自身拥有的,而不是继承得到的,可以用hasOwnProperty()方法:

studentA.hasOwnProperty('name'); // true
studentA.hasOwnProperty('toString'); // false
  • 注意点
    访问含有特殊字符的属性也不能直接使用.语法,应该使用以下格式进行访问:
var classNo = studentA['class-nume'];  // 2

当然,没有包含特殊字符的属性名也可以使用上述语法进行访问,不过直接使用.语法访问不含有特殊字符的属性比较直观。

如果访问没有定义的属性,则返回undefined,例如在上述对象 studentA中我们使用.语法访问weight属性,则返回undefined:

var weight  = studentA.weight; // undefined

相关文章

  • JS--对象

    JS 对象JavaScript的对象是一种无序的集合数据类型,它由若干键值对组成。JavaScript用一个{.....

  • js-- date对象

    Date 日期对象,总是遇到点小问题,做个总结来个了断 js 的date对象,基本把常用的功能都封装好了,基本不需...

  • JS--事件对象

    在触发DOM上的某个事件时,会产生一个事件对象event,这个对象中包含着所有与事件有关的信息。 DOM中的事件对...

  • 20-01-28JS基础1

    书写形式: 今天天气很好! 外部JS,在企业开发中用的较多...

  • JS--面向对象(一)

    面向对象的语言都有类的概念,通过类可以创建任意多个相同属性和方法的对象。 ECMA-262中把对象定义为:无序属性...

  • 再学js--变量对象

    当JavaScript代码执行一段可执行的代码时,会创建对应的执行上下文,对于每个执行上下文的创建阶段,都有三个重...

  • js--创建对象与对象继承

    创建对象 工厂模式:function createPerson(name, age, job){var o = n...

  • JS模块_require,new机制_this机制

    代码模块,导出对象 我们所有的代码不能都写到一个文件里面,如何分开文件? js--> 模块机制; js 加载代码的...

  • js--本地对象,内置对象,宿主对象详解

    本地对象 ECMA-262 把本地对象(native object)定义为“独立于宿主环境的 ECMAScript...

  • js &cookie

    js-- (void)webViewDidFinishLoad:(UIWebView *)webView{JSCo...

网友评论

      本文标题:JS--对象

      本文链接:https://www.haomeiwen.com/subject/eimbvxtx.html