美文网首页
JS 核心知识整理-对象

JS 核心知识整理-对象

作者: 郝翔 | 来源:发表于2016-06-13 07:54 被阅读218次

对象

JavaScript 中,一般使用字面量的方法新建对象,表现形式为多个名值对。

对象属性的不同

有一个需要留意的地方,对象的属性名与变量名是不同的,属性名字可以是包括空字符串在内的任何字符串,举个例子:

var obj = {
first_name = 1,
"first-name" = 2
};

回顾一下,在 js 中,标识符就是 _$a-Z开头后,选择性加上 0-9 的字符组合,标识符中是没有 -的,但是在对象的属性中,可以使用中划线 -,但是需要为属性名加引号。
不过这样带来的问题也比较蛋疼,在 JS 中,只有两种方法可以读取属性,我们来看看:

var a = { a-b: 1}
// Uncaught SyntaxError: Unexpected token -
var a = { "a-b": 1};
a.a-b 
// Uncaught ReferenceError: b is not defined(…)
a."a-b"
// Uncaught SyntaxError: Unexpected string
a["a-b"]
// 1

只能说略有蛋疼...还是不要考虑这样的用法了,做个安静的美男子。
总结起来,如果是属性值是标准的字符串字面量(反例是这种蛋疼的情况 a.012 ),同时是一个合法的标识符,那么可以使用 . 表示法检索,其他情况必须使用["key"]的方法检索。
对象除了简单的检索外,还可以结合双目运算符,进行一些简单的操作,比如说赋默认值,规避 TypeError 等等。如下:

var a = store["data"] || "pen";
var a = filght.eq && flight.eq.model;

增删查改

  • 通过赋值语句为对象赋值的时候,如果已经有了,那么会覆盖,如果没有,则会新建。
  • 对象按照引用进行传递,不会发生像基本类型一样的复制。
  • 所谓原型链在对象进行更新的时候,是不会被改变的,增改会发生在对象本身上,原型链只有在检索的时候才有用处。
  • delete方法用来删除对象本身存在的属性,不会影响原型链,这个运算符常常用来透现原型链上的属性。

对象属性的检测

使用 typeof 操作符,可以判断值的类型。如果需要单单检测属性,可以通过这个操作符来抛弃为 function的方法值。
hasOwnProperty(keyName) 方法查看某个属性是否是对象独有的。
for in方法同样可以用来判断属性的存在情况,它会枚举出包括在原型链上的所有属性,所以你懂的, 结合这几种方法才可以创造完美盛世。

相关文章

  • JS 核心知识整理-对象

    对象 在 JavaScript 中,一般使用字面量的方法新建对象,表现形式为多个名值对。 对象属性的不同 有一个需...

  • JS 对象

    JS对象 JS对象的意义和声明 在JS中,对象(OBJECT)是JS语言的核心概念,也是最重要的数据类型。在JS中...

  • js初识

    js核心:ECMAScript——ES:基础语法DOM:文档对象模型BOM:浏览器对象模型 js特点:(1)脚本语...

  • JS的面向对象编程设计

    最近阅读了《JS高级程序设计3》,刚看完第六章面向对象,于是将大体的核心概念整理总结一下。 1.理解对象 属性类型...

  • AJAX

    ajax XMLHTTpRequest对象是Ajax的核心,XMLHTTpRequest对象使得js脚本能够实现对...

  • JAVAScript 0314

    1.2js实现 js由三部分组成:核心(ECMAScript) 文档对象类型(DOM) 浏览器对象类型(BOM) ...

  • 第1章 简介 第3章 基本概念

    JS实现 核心(ECMAScript) 文档对象模型(DOM) 浏览器对象模型(BOM) DOM Document...

  • 2018-01-18

    js中的面向对象核心 js是基于对象的编程语言,在后面的学习中我们通过一种模式使其转化成为面向对象的语言。js面向...

  • js小知识点

    js小知识点 整理 js小知识点 (一):获取元素 1:document.getElementById('id名'...

  • js、jq、ajax、linux基础面试点

    js的基本语法延伸:js内置对象延伸:js HTML DOM对象延伸:jQ基础知识 Ajax的基本工作原理延伸:j...

网友评论

      本文标题:JS 核心知识整理-对象

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