首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

程序设计导论(Python)读书笔记

用户自定义数据类型:应用程序编程接口、文件命名规则、创建对象、调用方法、字符串表示  概念层面上,一个数据类型是一系列及定义在这些一系列操作集合。具体层面上,我们使用数据类型来创建对象。...整数浮点数:16字节用于对象开销8个字节用于数值表示(尾数、指数标志) 布尔:原则使用内存单独一个二进制位表示一个布尔,实际把布尔表示为整数,对象TureFalse都使用24字节表示...数组:72字节用于对象开销(包括数组长度),另外每个对象引用(数组每个元素)占用8个字节。一般而言包含n个整数或浮点数数组占用内存为72+32n个字节。保留字节占用额外n个字节。...栈、队列随机队列API本质是相同,不同之处仅仅在于类方法名选择。 符号表:一种数据类型,用于关联。...API:关联数组(Associative array)、替换旧策略(Replace-the-old-value policy)、不存在(Not found)、空键迭代(Itreable)、

77130

JavaScript权威指南 - 对象

JavaScript对象可以看作是属性无序集合,每个属性就是一个键值对,删。 JavaScript中所有事物都是对象字符串、数字、数组、日期,等等。...关联数组对象 上面提到可以通过object["property"]操作对象属性,这种语法看起来更像数组,只是这个数组元素是通过字符串索引而不是数字索引,这类数组被称为关联数组。...如果允许属性赋值,也只是原始对象创建或对已有的属性赋值,而不会修改原型链。 JavaScript中,一般只有查询属性时候才能体会到继承存在,而设置属性继承无关。...JSON语法并不能表示JavaScript里所有的所有。支持序列化还原对象、NaN、数组字符串、无穷大数字、true\falsenull。...函数、RegExp、Error对象undefined不能序列化还原。JSON.stringify()函数只能序列化对象枚举自有属性。日期对象序列化结果是ISO格式日期字符串

1.1K20
您找到你想要的搜索结果了吗?
是的
没有找到

Angular进阶教程2-

: GoodsListService } ] // 其中provide属性可以理解为这个Provider唯一标识,用于定位依赖,也就是应用中使用服务名 // 而useClass属性则代表使用哪个服务类来创建实例...因此我们还需要在服务类中导入RxJS 可观察对象\color{#0abb3c}{可观察对象}可观察对象可能会使用操作符\color{#0abb3c}{操作符}操作符。...这function执行多次,互相没有关联是一致。...Subject是观察者\color{#0abb3c}{观察者}观察者: 它有next(v),error(e),complete()方法,如果我们需要给subject提供新,只要调用next(v),它会将多播给已注册监听该...常见运算符包含 map, filter, concat, flatmap, switchmap, forkjoin 在这里我们只调挑出forkJoinswitchMap来讲解一下,其他操作符可以自己去查阅

4.1K30

JavaScript实用手册

关联数组 关联数组是下标自定义名称数组,由于索引数组下标是无意义数字,不便于快速定位想要元素,如果给每个元素起一个有意义名字,就可用名称,快速定义想要元素 如何定义: (1)....遍历关联数组(for in循环) 由于关联数组下标都是自定义字符串,导致关联数组 length 属性失效,始终为 0,for(var i=0;i<arr.length;i++)中 i length......this.属性名... } JS 中对象可在任何时候添加新属性方法,如果要赋值属性不存在,不会报错, 而是在对象中动态添加该属性,JS 中对象本质,就是关联数组,其实访问成员可用这 种形式...去掉 function,(){}之间加=>(箭头函数不支持 arguments) (2). 更简化 ①. 如果只有一个参数,省略() ②. 如果没有参数,必须保留() ③....} 简化写法: for(var val of arr){ val //当前元素 } 问题 1: 仅适用于读取元素情况,不能修改原数组元素 问题 2: 只能遍历数字下标的索引数组数组对象,不能遍历关联数组元素

3.4K10

JSON教程

有序列表(Anordered list of values)。大部分语言中,它被理解为数组(array)。 这些都是常见数据结构。事实大部分现代计算机语言都以某种形式支持它们。...对象可以包含多个 key/value(键/)对。 key 必须是字符串,value 可以是合法 JSON 数据类型(字符串, 数字, 对象, 数组, 布尔或 null)。...[“site1“] ---- 十、JSON 数组 JSON 数组中括号中书写: 数组包含多个对象: { “employees”:[ {...“employees” 是包含三个对象数组。...每个对象代表一条关于某人(有姓名)记录。 JSON 数组中括号中书写。 JSON 中数组必须是合法 JSON 数据类型(字符串, 数字, 对象, 数组, 布尔或 null)。

2K30

《你不知道JavaScript()之原型对象》读书笔记

即使是数字也不例外,虽然在数组下标中使用 的确是数字,但是在对象属性名中数字会被转换成字符串,所以不要搞混对象数组中数字用法: let myObject = { }; myObject[true...可计算属性名ES6 增加了可计算属性名,也可以叫做拼接,因为字符串“+“、“*”运算符会被js引擎解析为拼接 可以文字形式中使用 [] 包裹一个表达式来当作属性名:let prefix = "foo...简单来说,Symbol是一种新基础数据类型,包含一个不透明且无法预测(从技术角度来说就是一个字符串)。... ES5 中可以使用 getter setter 部分改写默认操作,但是只能应用在单个属性,无法 应用在整个对象。getter 是一个隐藏函数,会在获取属性时调用。...使用 new 调用函数时会把新对象 .prototype 属性关联到“其他对象”。带 new 函数调用 通常被称为“构造函数调用”,尽管它们实际传统面向类语言中类构造函数不一样。

62430

深入理解JavaScript(一)

2.语句:语句表示了一种行为,如循环if语句,一个程序基本就是语句序列。凡是JS期望语句地方都可以写表达式,这样语句叫做表达式语句。反之则不然,不能在需要表达式地主使用语句。...对象字面量来创建;数组,可以通过数组字面量创建;正则表达式;),特点(按引用进行比较;默认可变;用户扩展;) C.undefinednull 1.undefined:表示“没有”(既不是原始也不是对象...,+0-0 3.NaN和它本身不相等,使用isNaN()判断 4.Infinity:表示大到无法表示数字,或者除以了0,使用isFinite()检查一个是否是实际(既不是Infinity也不是...是否value原型链。...、undefinednull转化为空字符串、sort()排序时保留空缺 For-in循环:可以正确地列出属性键 Function.prototype.apply():会把空数组空缺转换为undefined

1.3K30

vue2.0 配置 选项 属性 方法 事件 ——速查

mixins                 选项接受一个混合对象数组              name               允许组件模板递归调用自身             ...$data Vue            实例观察数据对象          vm....$refs             一个对象,其中包含了所有拥有ref 注册子组件           vm....v-html            更新元素innerHTML                     v-show            根据表达式之真假,切换元素display css属性。...v-pre             跳过这个元素和它子元素编译过程                   v-cloak             这个指令保持元素直到关联实例编译结束

1.1K90

深入浅出 RxJS 之 合并数据流

当合并两个数据流,假设分别称为 source1$ source2$ ,也就可以说 source2$ 汇入了 source1$ ,这时候用一个 source1$ 实例操作符语义比较合适;某些场景下... JavaScript 中,数组就有 concat 方法,能够把多个数组元素依次合并到一个数组中: import 'rxjs/add/observable/of'; import 'rxjs/add...,zip concat 、merge 很不同,concat 、 merge 会保留原有的数据传给下游,但是 zip 会把上游数据转化为数组形式,每一个上游 Observable 贡献数据会在对应数组中占一席之地...zip 多个数据流 如果用 zip 组合超过两个 Observable 对象,游戏规则依然一样,组合而成 Observable 吐出每个数据依然是数组数组元素个数上游 Observable 对象数量相同...Observable 对象,那么传递给下游数据就是一个包含所有上游“最新数据”数组

1.5K10

JS内存泄漏排查方法

,剩下就是垃圾 Shallow Size & Retained Size 可以把内存看做由基本类型(如数字字符串)与对象关联数组)构成图。...通常,只有数组字符串会有明显Shallow Size。...从应用角度来看,GC root有以下几类: Window全局对象(位于每个iframe中)。堆快照中有一个distance字段,表示从window出发最短保留路径属性引用数量。...V8 VM中应用广泛,用来存储大量数据,用作字典键值对集合也采用数组形式(存储) 典型JS对象对应两种数组类型,用来存储: 命名属性 数值元素 属性数量非常少的话,可以放在JS对象自身内部 Map...DOM节点存储原生内存中,如果此正在增大,则说明正在创建DOM节点 JS使用内存列表示JS堆。此列包含两个,需要关注是实时值(括号中数值)。实时数值表示页面上访问对象正在使用内存量。

7.4K50

JavaScript 高级程序设计(第 4 版)- 语言基础

"1.1",则会转换为相应浮点 如果字符串包含有效十六进制格式如"0xf",则会转换为与该十六进制对应十进制整数值 如果是空字符串(不包含字符),则返回0 如果不包含上述情况,则返回 NaN 对象...Symbol作为属性 凡是可以使用字符串或数值作为属性地方,都可以使用Symbol 包括对象字面量属性Object.defineProperty()/Object.defineProperties...Object.getOwnPropertySymbols() 返回对象实例Symbol属性数组 Object.getOwnPropertyDescriptors() 返回同时包含常规Symbol属性描述符对象...](f)); // true 该属性定义Function原型,因此默认在所有函数都可以调用 Symbol.isConcatSpreadable 表示“一个布尔,如果是true,则意味着对象应该用...Object类型所有属性方法派生对象同样存在 constructor: 用于创建当前对象函数。

47910

JavaScript 高级程序设计(第 4 版)- DOM

()方法操作属性 Attr 对象上有 3 个属性: name、 value specified name 包含属性名 value 包含属性 specified 是一个布尔,表示属性使用是默认还是被指定...还可以重新使用这个观察者,再将它关联到新目标节点。 # MutationObserverInit 与观察范围 MutationObserverInit对象用于控制对目标节点观察范围。...# HTML5 # CSS类扩展 getElementsByClassName() 暴露在 document 对象所有 HTML 元素 接收一个参数,即包含一个或多个类名字符串,返回类名中包含相应类元素...使用 innerHTML、outerHTML insertAdjacentHTML()之前,最好手动删除要被替换元素上关联事件处理程序 JavaScript 对象。...DOM2 Style 规定它在 style 对象中对应属性应该是 cssFloat。 DOM 样式属性方法 DOM2 Style 规范也 style 对象定义了一些属性方法。

1.1K30

JavaScript工作原理:内存管理+如何处理4个常见内存泄漏

相反,JavaScript 是创建变量(对象字符串等)时自动进行了分配内存,并且使用它们时“自动”释放。 释放过程称为垃圾回收。...每个触发器包含几个晶体管并且能够存储一位(bit)。单个触发器可通过唯一标识符进行寻址,因此我们可以读取覆盖它们。从概念讲,我们可以将整个计算机内存视为我们可以读写一个巨大位(bit)数组。...实际,每当我们写入变量时,它就会会内部转为类似”内存地址 4127963“内容。 注意,如果尝试访问x[4],可能会访问到 m 相关联数据。...var a = [1, null, 'str']; // 给数组及其包含分配内存(就像对象一样) function f(a) { return a + 3; } // 给函数(可调用对象...,它包含一个大数组一个新闭包(someMethod)。

83851

JavaScript工作原理:内存管理+如何处理4个常见内存泄漏

相反,JavaScript 是创建变量(对象字符串等)时自动进行了分配内存,并且使用它们时“自动”释放。 释放过程称为垃圾回收。...每个触发器包含几个晶体管并且能够存储一位(bit)。单个触发器可通过唯一标识符进行寻址,因此我们可以读取覆盖它们。从概念讲,我们可以将整个计算机内存视为我们可以读写一个巨大位(bit)数组。...实际,每当我们写入变量时,它就会会内部转为类似”内存地址 4127963“内容。 注意,如果尝试访问x[4],可能会访问到 m 相关联数据。...var a = [1, null, 'str']; // 给数组及其包含分配内存(就像对象一样) function f(a) { return a + 3; } // 给函数(可调用对象...,它包含一个大数组一个新闭包(someMethod)。

76830

Java创建Annotation

在此过程中,我们将介绍许多常见注解块,包括Java反射框架注解可见性问题。感兴趣读者可以GitHub找到已完成JSON序列化程序源代码。 什么是注解?...:(1)查找使用@JsonField注解所有字段,(2)记录包含@JsonField注解所有字段名称(或显式提供字段名称),以及(3)将所记录字段名称键值对转换成JSON字符串。...并使用对象关联类来获取关联字段。接下来,我们创建String到StringMap,存储字段名键值对。 随着数据结构建立,接下来遍历类中声明每个字段。...,Car对象makermodel字段已经被序列化,使用字段名称作为键,字段作为。...虽然不应使用注解来代替以面向对象方式,但它们可以极大地简化重复逻辑。例如,我们可以注解每个序列化字段而不是接口中方法创建一个toJsonString以及所有可以序列化类实现此接口。

1.5K20

iOS_Effective Objective-C 20 编写高质量iOS与OS X代码52个有效方法

Nr 要点: 应该使用字面量语法来创建字符串、数值、数组、字典。与创建此类对象常规方法相比,这么做更加简明扼要。...(id object)此方法移除指定对象全部关联对象 ​ 可以把某对象想像成NSDictionary,把关联到该对象理解为字典中条目,存储关联对象就相当于字典对象调用setObject:...鉴于此,设置关联对象时,通常使用静态全局变量做键。...属性存取方法不遵循这种命名方式~ 应该把表示参数类型名词放在参数前面 如果方法要在当前对象执行操作,那么就应该包含动词;若执行操作时还需要参数,则应该在动词后面加上一个或多个名词 不要使用str这种简称...另外属性可能正出去“键值观测”(KVO)机制监控之下,该属性观察者(observer)可能会在属性改变时“保留”或使用这个即将回收对象 ---- 32、编写“异常安全代码”时留意内存管理问题 ​

97740

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券