对象数组

map() assign()

时间秒杀一切 提交于 2020-02-14 23:10:45
Object.assign() 方法用于将所有可枚举属性的值从一个或多个源对象复制到目标对象。它将返回目标对象。 map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。 map() 方法按照原始数组元素顺序依次处理元素。 来源: CSDN 作者: ccpcpp 链接: https://blog.csdn.net/ccpcpp/article/details/104317328

java与C++的区别

不问归期 提交于 2020-02-14 17:46:42
“作为一名C++程序员,我们早已掌握了面向对象程序设计的基本概念,而且Java的语法无疑是非常熟悉的。事实上,Java本来就是从C++衍生出来的。”   然而,C++和Java之间仍存在一些显著的差异。可以这样说,这些差异代表着技术的极大进步。一旦我们弄清楚了这些差异,就会理解为什么说Java是一种优秀的程序设计语言。本附录将引导大家认识用于区分Java和C++的一些重要特征。   (1) 最大的障碍在于速度:解释过的Java要比C的执行速度慢上约20倍。无论什么都不能阻止Java语言进行编译。写作本书的时候,刚刚出现了一些准实时编译器,它们能显著加快速度。当然,我们完全有理由认为会出现适用于更多流行平台的纯固有编译器,但假若没有那些编译器,由于速度的限制,必须有些问题是Java不能解决的。   (2) 和C++一样,Java也提供了两种类型的注释。   (3) 所有东西都必须置入一个类。不存在全局函数或者全局数据。如果想获得与全局函数等价的功能,可考虑将static方法和static数据置入一个类里。注意没有象结构、枚举或者联合这一类的东西,一切只有“类”(Class)!   (4) 所有方法都是在类的主体定义的。所以用C++的眼光看,似乎所有函数都已嵌入,但实情并非如何(嵌入的问题在后面讲述)。   (5) 在Java中,类定义采取几乎和C++一样的形式。但没有标志结束的分号

JavaScript高级程序设计

旧城冷巷雨未停 提交于 2020-02-14 00:42:24
一、JavaScript简介 组成 一个完整的Javascript应由下列三部分组成: 核心(ECMAScript) 文档对象模型(DOM) 浏览器对象模型(BOM) 二、在HTML中使用Javascript script元素 HTML5为script定义了下列6个属性 async:可选。表示应立即下载脚本,但不应妨碍页面中的其他操作,比如下载其他资源或等待加载其他脚本(异步执行)。只对外部脚本文件有效。 charset:可选。表示通过src属性指定的代码的字符集。由于大多数浏览器会忽略它的值,因此这个属性很少人使用。 defer:可选。表示脚本可以延迟到文档完全被解析和显示之后再执行。只对外部脚本文件有效。 language:已废弃。原来用于表示编写代码使用的脚本语言。 src:可选。表示包含要执行代码的外部文件。 type:必选。可以看成是language的替代属性;表示编写代码使用的脚本语言的内容类型,也称MIME类型。 在XHTML中的用法 用CData片段来包含Javascript代码: 三、基本概念 6种数据类型 Undefined Boolean String Null Number Object 语句: if do-while while for for-in label break和continue with switch 四、变量、作用域和内存问题

JavaSE学习笔记-Day8

Deadly 提交于 2020-02-13 11:11:09
孔子云:温故而知新,可以为师矣。那么今天就来回顾一下这一个星期所学的知识。 第一章: 初步认识Java Java版本:SE 、 EE 、 ME, SE定位于计算机,EE定位于服务器。 Java优势: 跨平台性 (不区分操作系统),面向对象,多线程,高性能等等。 JVM 、JRE 、JDK:JVM是跨平台性的核心机制,运行Java只要JRE,开发需要JDK。 Java运行机制 :先编译成.class文件,再解释运行。 "Hello World"程序: main方法是Java程序的入口。输出语句的固定写法。 第二章: Java面向对象编程基础 面向过程和 面向对象 思想:万物皆可对象,要宏观把控系统。 类和对象: 类是模板,对象是实例。 1)类一般由三大部分组成(成员):成员变量、成员方法、构造方法。类名要符合驼峰原则。 2)看见new这个关键字就是在创建对象,其含义是调用类的构造方法创建实例。 3) 匿名对象 :一般对象都会给个名字,没名字的就是匿名对象。 Java数据类型: 两类,基本数据类型和引用数据类型。 1)整型默认为int,浮点型默认为double,long型数据在末尾加"l/L",float型数据在末尾加"f/F"。浮点型数据避免直接比较大小! 2)自动数据类型转化:范围小的可自动转换成范围大的,有部分转化过程可能出现精度丢失,所以这也不是绝对安全的。 3)强制类型转化

Java面向对象[数组]

时间秒杀一切 提交于 2020-02-13 11:07:11
理解数组 Java的数组要求所有的数组元素具有相同的数据类型,换句话说一个数组里只能存储一种数据类型的数据 一旦数组的的初始化完成,数组在内存中所占的空间将被固定下来,因此数组的长度将不可改变,即使把某个数组元素的数据清空,但它所占的空间依然保留,依然属于该数组,数组的长度依然不变 Java的数组既可以存储基本类型的数据,也可以存储引用类型的数据,只要所有的数据属于相同的数据类型即可 数组也是一种数据类型,它本身是一种引用类型,因此用它定义一个变量时,仅仅表示定义了一个引用变量(也就是一个指针),这个引用变量还未指定任何内存 数组的定义和初始化 Java提供了两种定义数组的语法 type[] arrayName; type arrayName[]; 数组是个引用类型,因此用它定义一个变量时,仅仅表示定义了一个引用变量(也就是一个指针),这个时候引用变量还未指定任何内存,因此定义数组时不能指定数组的长度,并且没有指定内存就没有内存空间来存储数组元素,因此这个数组也就不能直接使用,只有对数组进行初始化后才可以使用。 数组初始化 所谓初始化就是给数组分配内存空间,并为数组元素赋初始值,一旦为数组的每个数组元素分配了内存,每个内存空间里存储的内容就是该数组元素的值,即使这个内存空间存储的内容是空,这个空也是一个值(null),只要为数组元素分配了内存空间,数组元素就具有了初始值

Function 构造器及其对象、方法

自闭症网瘾萝莉.ら 提交于 2020-02-13 05:08:28
一、基础 Function 是一个构造器,能创建Function对象,即JavaScript中每个函数实际上都是Function 对象。 构造方法: new Function ([arg1[, arg2[, ...argN]],] functionBody) 说明:arg1、arg2等为构造器的参数,functionBody为方法体。注意:参数必须用引号包围! 实例: var plus=new Function("a","b","return a+b"); var result=plus(1,2);//调用,返回3 上述方法创建function等同于普通函数声明方法: function plus(a,b){ return a+b;}; 重点: 1、使用Function构造器生成的对象是在函数创建时解析的(即真正调用时才生成对象的模型),所以比普通函数声明方法低效,因为普通方法是和其它代码一起解析的; 2、此方法不支持闭包,即不能访问创建他的所在function对象的私有变量,而只能访问自身参数列表中的变量和全局变量,因此一般只作为全局函数时使用。如: <script> var test=1;//用于测试的全局变量 var plus=new Function("a","b","return a+b+test"); alert(plus(1,2));//将提示结果为4

类数组和数组的区别是什么?

一个人想着一个人 提交于 2020-02-13 05:04:07
类数组: 1)拥有length属性,其它属性(索引)为非负整数(对象中的索引会被当做字符串来处理); 2)不具有数组所具有的方法; 类数组是一个普通对象,而真实的数组是Array类型。 常见的类数组有: 函数的参数 arguments, DOM 对象列表(比如通过 document.querySelectorAll 得到的列表), jQuery 对象 (比如 $(“div”)). 类数组可以转换为数组: //第一种方法 Array.prototype.slice.call(arrayLike, start); //第二种方法 [...arrayLike]; //第三种方法: Array.from(arrayLike); PS: 任何定义了遍历器(Iterator)接口的对象,都可以用扩展运算符转为真正的数组。 Array.from方法用于将两类对象转为真正的数组:类似数组的对象(array-like object)和可遍历(iterable)的对象。 来源: https://www.cnblogs.com/nini123123/p/10996972.html

监听数组变化

此生再无相见时 提交于 2020-02-13 00:39:32
https://www.jb51.net/article/141141.htm var a={ val: 1 } let _value = a.val Object.defineProperty(a,"val",{ get:function(){ return _value }, set:function(newVal){ _value = newVal console.log("setted") } }) a.val;//1 a.val=[];//setted a.val=[1,2,3];//setted a.val[1]=10;//无输出 a.val.push(4);//无输出 a.val.length=5;//无输出 a.val;//[1,10,3,4,undefined]; 可以看到, 当a.b被设置为数组后,只要不是重新赋值一个新的数组对象,任何对数组内部的修改都不会触发setter方法的执行 。这一点非常重要,因为基于Object.defineProperty()方法的现代前端框架实现的数据双向绑定也同样无法识别这样的数组变化。因此第一点,如果想要触发数据双向绑定,我们不要使用arr[1]=newValue;这样的语句来实现;第二点,框架也提供了许多方法来实现数组的双向绑定。 Array.prototype.push.apply() var a = [1,2,3];

JavaScript的一些基础性知识

|▌冷眼眸甩不掉的悲伤 提交于 2020-02-12 21:12:34
1. JavaScript概述 1.1. JavaScript概述 1.1.1. JavaScript是一门独立的语言 JavaScript是基于对象和事件驱动的脚本语言,主要应用在客户端。 JavaScript是一门独立的语言。 JavaScript是一种脚本语言,不需要编译,是解释运行的语言。 JavaScript运行需要环境,最常见的运行环境就是浏览器,现代主流的浏览器都内置了JS引擎,可以运行JavaScript代码。JS也有服务器端运行环境,我们不做讨论(Node.js、GoogleV8引擎…)。 1.1.2. JS的特点 解释运行,没有编译过程 基于对象 弱类型 1.1.3. JavaScript不得不说的历史 和JAVA的关系:语法十分相似,但其实毫无关系。 1995年5月,Netscape,LiveScript 1995年12月,改名为JavaScript 1996年8月,微软,Jscript 1997-1999年,ECMA,ECMAScript,基于已有的JavaScript和Jscript,提出了标准的Script语法规则,JavaScript和Jscript都遵循这套标准。 1999-以后,ECMAScript不断的更新 JS的优点: 交互性(它可以做的就是信息的动态交互) 安全性(不允许直接访问本地硬盘) 跨平台性(只要是可以解释Js的浏览器都可以执行

集合2——List体系和Set体系

久未见 提交于 2020-02-12 12:55:09
List体系和Set体系 文章目录 List体系和Set体系 对象数组 对象数组的使用 内存图 List体系 List接口介绍 ArrayList类 ArrayList实现原理(思想) ArrayList中特有方法 ArrayList存储自定义对象 ArrayList特点 LinkedList类 LinkedList实现思想 LinkedList特有方法 LinkedList特点 栈和队列数据结构 Set体系 Set接口介绍 HashSet类 HashSet基本使用 哈希算法 HashSet存入字符串保证唯一原理 HashSet存取自定义对象保证唯一原理 对象数组 对象数组指的就是存储引用类型的数组 对象数组的使用 /* *对象数组(引用数组):该数组中存储的是引用类型因此我们叫它对象数组或者引用数组 * 引用数组中存储的是对象的地址值而不是对象 */ public class Demo { public static void main ( String [ ] args ) { //1.定义一个Student类型的数组 //int[] arr = new int[3] Student [ ] stus = new Student [ 2 ] ; //2.给数组中的元素赋值 //arr[0]=3; stus [ 0 ] = new Student ( "张三" , 13 ) ;