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

一. JavaScrip的简单类型包括
1.数字number

   JS不分整型与浮点型
   两个浮点型相加,精度不够

2.字符串string
3.布尔值boolean

true跟false

4.null
5.undefined
以上都是简单数据类型
其他都是对象 Function Array

研究一下 前五个貌似是对象,因为他们拥有方法,但是他们是不可变的?
简单数据类型,不是对象

二. JavaScrip中的对象
JavaScrip中的对象都是可变的键控集合。
对象是属性的容器,其中每个属性都拥有名字和值。名字可以是包括空字符在内的任意字符串,值是除undefined值之外的任何值。
对象是无类别的。对新属性的名字与值没有约束。适合用于收集和管理数据。对象也可以包含其他对象,它们可以表示成树形或图形结构。
原型链特性:允许对象继承另一个对象的属性。正确使用能减少对象的初始化的时间与内存消耗。
1.对象字面量
对象字面量提供了一种非常方便的创建新的对象值的方法。它是包围在一对花括号中的0或多个名/值对。它可以出现在任何允许表达式出现的地方。它的属性名可以是包括空字符串在内的任意字符串。
如果属性名合法且不是保留字,不强制要用引号括住属性名。用引号括住“first-name”是必须的,但对于first_name来说不是必须的。逗号用来分隔多个名/值对。
属性的值可以从包括另一个对象字面量在内的表达式中获得,对象是可以嵌套的。

var lihua = {
	name: "LiHua",
	id: "123054",
	city: "BeiJing"
};

2.检索
检索对象中包含的值,可以用在[]后缀中括住一个字符串表达式。如果该表达式是一个常数,且合法并且不是保留字,可使用.表示法。.表示法更紧凑且可读性更好。

stooge["first-name"]  // "LiHua"
lihua.name  // "LiHua"

如果检索的不存在的元素,将返回undefined值。

stooge["num"]  // undefined
lihua.num  // undefined

|| 运算符可以用来填充默认值。
" 运算符可以避免检索一个undefined值所导致的TypeError异常。
3.更新
对象中的值可以通过赋值语句来更新。如果属性名存在于对象中,那这个属性的值将会更新;如果不存在,那该属性将会扩充到该对象中。
4.引用
对象通过引用来传递。它们永远不会被拷贝。
5.原型
每个对象都连接一个原型对象,可以从中继承属性。通过对象字面量创建的对象都连接 Object.prototype 这个JS中的标准对象。
创建新对象时,可选择某个对象作为它的原型。
原型连接在更新时是不起作用的。更新对象时,对该对象的原型无影响。
原型连接只有在检索值的时候才会用到。会从某个对象一层一层的往上找,直到找到这个属性,若该属性不存在这个原型链中,那将返回 undefined。
在一个对象中添加一个新的属性,该属性会对所有以该对象作为原型对象的下级对象可见。
6.反射
typeof 操作符可以确定属性的类型

tyopef lihua.id  // 'number'

注意原型链中任意属性都会产生一个值。

tyopef lihua.toString  // 'function'

去除不需要的属性的方法:

  1. 让你的程序检查并删除函数值。
  2. 使用 hasOwnProperty 方法,如果对象拥有独有的属性,将返回true,否则返回false。该方法不会检查原型链。
flight lihua.city  // true

7.枚举
for in 语句可用来遍历一个对象中的所有属性名。该枚举过程会列出所有的属性,包括函数与原型中的属性,所以需要过滤不想要的值。最常用的过滤器为 hasOwnProperty 方法与使用 typeof 来排除函数。
如果要是属性以特定的顺序出现,做好的方法是完全避免使用 for in 语句,去创建一个数组,在其中以特定顺序包含属性名。
通过使用 for 而不是 for in,可以得到我们想要的属性,而不用担心可能出现原型链中的属性,并按特定顺序取得它们的值。
8.删除
delete 运算符可以用来删除对象中的属性。它只会移除该对象在中的属性,不会触及到原型链中的对象。
9.减少全局变量污染
JS可以随意定义全局变量,但全局变量影响程序的灵活性,应尽量避免使用。
最小化使用全局变量的一个方法时在你的程序中只创建唯一一个全局变量。
将多个全局变量整理在一个名称空间下,可以显著降低与其他程序、组件等相互影响,程序也更容易阅读。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
东南亚位于我国倡导推进的“一带一路”海陆交汇地带,作为当今全球发展最为迅速的地区之一,近年来区域内生产总值实现了显著且稳定的增长。根据东盟主要经济体公布的最新数据,印度尼西亚2023年国内生产总值(GDP)增长5.05%;越南2023年经济增长5.05%;马来西亚2023年经济增速为3.7%;泰国2023年经济增长1.9%;新加坡2023年经济增长1.1%;柬埔寨2023年经济增速预计为5.6%。 东盟国家在“一带一路”沿线国家的总体GDP经济规模、贸易总额与国外直接投资均为最大,因此有着举足轻重的地位和作用。当前,东盟与国已互相成为双方最大的交易伙伴。国-东盟贸易总额已从2013年的443亿元增长至 2023年合计超逾6.4万亿元,占国外贸总值的15.4%。在过去20余年,东盟国家不断在全球多变的格局里面临挑战并寻求机遇。2023东盟国家主要经济体受到国内消费、国外投资、货币政策、旅游业复苏、和大宗商品出口价企稳等方面的提振,经济显现出稳步增长态势和强韧性的潜能。 本调研报告旨在深度挖掘东南亚市场的增长潜力与发展机会,分析东南亚市场竞争态势、销售模式、客户偏好、整体市场营商环境,为国内企业出海开展业务提供客观参考意见。 本文核心内容: 市场空间:全球行业市场空间、东南亚市场发展空间。 竞争态势:全球份额,东南亚市场企业份额。 销售模式:东南亚市场销售模式、本地代理商 客户情况:东南亚本地客户及偏好分析 营商环境:东南亚营商环境分析 本文纳入的企业包括国外及印尼本土企业,以及相关上下游企业等,部分名单 QYResearch是全球知名的大型咨询公司,行业涵盖各高科技行业产业链细分市场,横跨如半导体产业链(半导体设备及零部件、半导体材料、集成电路、制造、封测、分立器件、传感器、光电器件)、光伏产业链(设备、硅料/硅片、电池片、组件、辅料支架、逆变器、电站终端)、新能源汽车产业链(动力电池及材料、电驱电控、汽车半导体/电子、整车、充电桩)、通信产业链(通信系统设备、终端设备、电子元器件、射频前端、光模块、4G/5G/6G、宽带、IoT、数字经济、AI)、先进材料产业链(金属材料、高分子材料、陶瓷材料、纳米材料等)、机械制造产业链(数控机床、工程机械、电气机械、3C自动化、工业机器人、激光、工控、无人机)、食品药品、医疗器械、农业等。邮箱:market@qyresearch.com

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值