javascript|JavaScript的基本精华概念

text":"JavaScript的基本精华概念对象JavaScript 的简单类型包括数字、字符串、布尔值、null 和 undefined值 。


总共 5 种基本类型
其他的所有值都是对象 , 数字、字符串和布尔值「貌似」对象 , 因为它们拥有方法 , 但它们是不可变的 。 JavaScript 中的对象是可变键控集合 。 在 JavaScript 中 , 数组是对象 , 函数是对象 , 正则表达式是对象 , 当然 , 对象自然也是对象 。

5 种基本类型里 , 除了 null 和 undefined 是没有方法的 , 其他 3 个都有方法 , 看起来像是对象一样
对象是属性的容器 , 其中每个属性都拥有名字和值 。 属性的名字可以是包括空白字符在内的任意字符串 , 属性值可以是除 undefined 值之外的任何值 。

对象是用来装载数据的 , 数据是以属性 , 即键值对的方式存在的 。 现在属性值也可以是 undefined
JavaScript 中的对象是无类别的 , 它对新属性的名字和值没有约束 。 对象适合用于收集和管理数据 。 对象可以包含其它对象 , 所以它们很容易地表示成树形结构 。
JavaScript 有一个原型链特性 , 允许对象继承另一对象的属性 。 正确地使用它能减少对象的初始化时间和内存消耗 。

在我以往的项目经验里 , 其实对原型链的使用是很少的 。 看样子对原型链的使用 , 似乎可以在性能上更加高效 。
对象字面量对象字面量提供了一种非常方便地创建新对象值的表示法 , 一个对象字面量就是包围在一对花括号的零或多个 「名/值」对 。 对象字面量可以出现在任何允许表达式出现的地方 。
var empty_object = {
var storage = {
\"first-name\": 'jeason'
\"last-name\": 'chen'

属性名可以是包括空字符串在内的任何字符串 。 在对象字面量中 , 如果属性名是一个合法的 JavaScript 标识符并且不是保留字 , 并不强制要求用引号括住属性名 。 逗号用来分隔多个属性 。

对象是一种类型结构 , 对象字面量是创建新对象的方法 。
【javascript|JavaScript的基本精华概念】属性的值可以从包括另一个对象字面量以内的任意表达式中获得 , 对象是可嵌套的 。
var flight = {
airline: 'ocean'
number: 12
arrival: {
time: '2022-2-21'


检索要检索对象中包含的值 , 可以采用在 [
后缀中包括一个字符串表达式的方式 。 如果字符串表达式是一个常数 , 而且它是一个合法的 JavaScript 标识符而并非保留字 , 那么也可以用 . 代替 。 优先使用 . 表示法 , 因为它更紧凑且可读性更好 。
storage['first-name'
// 'jeason'
flight.airline // 'ocean'
如果你尝试检索一个并不存在的成员元素的值 , 将返回一个 undefined
|| 运算符可以用来填充默认值
var middle = storage['middle-name'
|| 'none'
var status = storage['middle-name'
|| 'unknow'
如果尝试检索一个 undefined 值将会导致 TypeError 异常 , 这可以通过 && 逻辑与运算符来避免错误 。
逻辑与是一种短路操作 , 如果左侧表达式为 false , 则直接短路返回结果 , 不再运算右侧表达式 。
更新对象中的值可以通过赋值语句来更新 , 如果属性名已经存在于对象中 , 那么这个属性的值就会被替换
如果对象之前没有拥有那个属性名 , 那么该属性就会扩充到该对象当中去 。
引用对象通过引用来传递 , 它们永远不会被拷贝 。