• javascript:Object


    Javascript的简单类型包括数字、字符串、布尔值、null值、undefined值。

    其他的值都是对象。对象是可变的键控集合。数组、函数、正则表达式都是对象。

    对象是属性的容器,属性都是名字和值对。名字可以是包括空字符串在内的全部字符串。值可以是除了undefined之外的任何值。

    javascript中的对象是无类别(class-free)的。

    javascript包括一个原型链特性,允许对象继承另一个对象的属性。正确的使用能减少对象初始化的时间和内存损耗。

    对象字面量:

    var empty_object={};

    var stoog ={"first-name":"Jerry",

               second_name:"howead"};

    如果属性名称合法并且不是保留字,那么名字的引号可以不写。

    检索:

    1、stoog["first-name"]

    2、stoog.second_name

    如果尝试返回一个不存在的元素的值,那么将返回一个undefined值。

    ||可以用来填充默认值

    如:var middle = stoog["first-name"]||"(none)";

    检索undefined值将会导致TypeError异常,可以使用&&来避免错误

    flight.equipment && flight.equipment.model    //undefined.

    引用 reference

    对象通过引用来传递,他们永远不会被拷贝

    原型 Prototype

    当用Prototype编写一个类后,当new一个新的object,浏览器会自动把prototype中的内容附加在object上。

    反射 Reflection

    typeof flight.number //'number' 该方法会检查原型链。

    flight.hasOwnProperty('number') //true .该方法不会检查原型链

    枚举 Enumeration

    for in 可以用来遍历一个对象中所有的属性名。会列出所有的属性,包括函数和可能不关心的原型中的属性。并且不按照顺序取得。

    所以可以用 typeof 或者hasOwnProperty来过滤不需要的值。

    所以通常使用for而不是for in,可以得到我们想要的属性,而不会得到原型链中的属性,并且可以按顺序取得。

    删除 Delete

    它会删除对象中包含的属性,但是不触及原型链中的任何对象。所以删除对象的属性可能会让原型链中的属性浮现出来。

    减少全局变量污染 Global Abatement

    最小化使用全部变量的一个方法是在应用中只创建唯一一个全局变量,然后让该变量称为你的应用的容器。

    闭包也是一个有效减少全局污染的方法。

  • 相关阅读:
    React准备
    React组件
    从uri获取图片文件的File对象
    ES6
    Promise.all
    js的ctrl+s保存功能
    浏览器端读取和生成zip文件
    vscode配置及快捷键
    Array
    最全React技术栈技术资料汇总
  • 原文地址:https://www.cnblogs.com/RitaRichard/p/2093605.html
Copyright © 2020-2023  润新知