JavaScript语言精粹学习笔记之对象

JavaScript的简单类型包括

  1. 数字 number
    JS不分整型与浮点型
    两个浮点数相加,精度不够
  2. 字符串 String
  3. 布尔型 boolean
  4. null
  5. undefined
    以上都是简单数据类型
    其他都是对象Function Array

对象

  1. 对象是属性的容器。
  2. 属性都拥有名字和值,属性的值可以是出undefined之外的任何值。
  3. 对象是无类别的。
  4. 对象可以被继承。
  5. 对象可以嵌套
 const xyy = {
    name: 'xiyangyang',
    hometown: 'yangcun',
    "last-name": 'xi'
    relation:{
        father: "zhiyangyang",
        mother: "liyangyang",
        friend: "lanyangyang"
    }
}

对象字面量

一个对象字面量就是包围在一个对花括号中的零个或多个“名/值”

属性名规范:
第一个字符必须是字母或下划线或$符号;
除了第一个字符后面的部分可以是字母、数字、下划线、美元符号;
如果除了第一个字符后面的部分有其他符号,必须要用引号扩住。

const xyy = {
    name: 'xiyangyang',
    hometown: 'yangcun',
    "last-name": 'xi'
}

检索

  1. 对象名.属性名
  2. 对象名[“属性名”]、对象名[‘属性名’]
console.log(xyy);				//{name:'xiyangyang',hometown: 'yangcun','last-name': 'xi'}
console.log(xyy.name); 			//xiyangyang
console.log(xyy['name']);		//xiyangyang
console.log(xyy['last-name']);	//xi

注意:引号扩住的属性名只能用第二种方式检索

更新

对象中的值可以通过赋值语句来更新。
如果属性名存在于对象中,属性名的值将会被替换;如果对象中不存在这个属性名,那么该属性将会扩充到该对象中。

引用

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

var x = stooge;
x.nickname = 'Curly';
var nick = stooge.nickname
//x 和 stooge指向同一个地址,所以nick为'Curly'

//1. a,b,c 指向不同的地址
var a = {}, b = {}, c = {};
//2. a,b,c 指向同一个地址
var a = b = c = {};

原型

每个对象都连接到一个原型对象,并且可以从中继承属性。
所有通过对象字面量创建的对象都连接到Object.prototype。
原型关系是一种动态的关系。

枚举

for in:for in语句会遍历对象中的所有属性名。包括原型中的属性,一般采用hasOwnProperty方法过滤。并且属性名出现的顺序是不确定的。
for:for语句可以确保我们按顺序得到想要的属性。

删除

delete运算符可以删除对象的属性。他不会触及原型中的任何属性。

减少全局变量污染

只创建唯一一个全局变量作为应用的容器。
把多个全局变量都整理在一个名称空间下,减少其他应用、组件、类库之间的影响。

var MYAPP = {};
MYAPP.flight = {};
MYAPP.stooge = {};
MYAPP.arrival = {};
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值