对象数组

JavaScript进阶(三)之对象

陌路散爱 提交于 2020-03-28 04:28:49
返回星期方法 getDay() 返回星期,返回的是0-6的数字,0 表示星期天。如果要返回相对应“星期”,通过数组完成,代码如下: <script type="text/javascript"> var mydate=new Date();//定义日期对象 var weekday=["星期日","星期一","星期二","星期三","星期四","星期五","星期六"]; //定义数组对象,给每个数组项赋值 var mynum=mydate.getDay();//返回值存储在变量mynum中 document.write(mydate.getDay());//输出getDay()获取值 document.write("今天是:"+ weekday[mynum]);//输出星期几 </script> 注意:以上代码是在2014年3月7日,星期五运行。 结果: 5 今天是:星期五 <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>获得星期</title> <script type="text/javascript"> var mydate=new Date(); var weekday=["星期日","星期一","星期二",

Vue2.0源码阅读笔记(二):响应式原理

夙愿已清 提交于 2020-03-27 11:45:22
  Vue是数据驱动的框架,在修改数据时,视图会进行更新。数据响应式系统使得状态管理变的简单直接,在开发过程中减少与DOM元素的接触。而深入学习其中的原理十分有必要,能够回避一些常见的问题,使开发变的更为高效。 一、实现简单的数据响应式系统   Vue使用 观察者模式 (又称 发布-订阅模式 )加 数据劫持 的方式实现数据响应式系统,劫持数据时使用 Object.defineProperty 方法将 数据属性 变成 访问器属性 。Object.defineProperty 是 ES5 中一个无法 shim 的特性,因此Vue 不支持 IE8 以及更低版本浏览器。   Vue源码中对数据响应式系统的实现比较复杂,在深入学习这部分源码之前,先实现一个较为简单的版本更有助于后续的理解。代码如下所示: let uid = 0 // 容器构造函数 function Dep() { // 收集观察者的容器 this.subs = [] this.id = uid++ } Dep.prototype = { // 将当前观察者收集到容器中 addSub: function(sub) { this.subs.push(sub) }, // 收集依赖,调用观察者的addDep方法 depend: function() { if(Dep.target){ Dep.target.addDep(this)

JavaScript在HTML中的应用

限于喜欢 提交于 2020-03-27 06:48:56
JavaScript概述 JavaScript是基于对象和事件驱动的脚本语言,主要应用在客户端。 特点: 1,交互性(它可以做的就是信息的动态交互) 2,安全性(不允许直接访问本地硬盘) 3,跨平台性(只要是可以解释JS的浏览器都可以执行,和平台无关) JavaScript与Java不同 1,JS是Netscape公司的产品,前身是LiveScript;Java是Sun公司的产品,现在是Oracle公司的产品 2,JS是基于对象,Java是面向对象 3,JS只需解释就可以执行,Java需要先编译成字节码文件,再执行 4,JS是弱类型,Java是强类型 JavaScript与Html的结合方式 想要将其他代码融入到Html中,都是以标签的形式。 1,JS代码存放在标签对<script> js code... </script>中。 2,当有多个html页面使用到相同的JS脚本时,可以将JS代码封装到一个文件中,只要在script标签的src属性引入一个JS文件。(方便后期维护、扩展) 注意:如果在script标签中定义了src属性,那么标签中的内容不会被执行。 例:<script src="test.js" type="text/javascript"></script> 注:规范中script标签早期有一个属性language,而现在使用type属性。 JavaScript语法

ES6:不同数据结构的遍历方法

扶醉桌前 提交于 2020-03-27 05:31:15
ES6对数组,对象都有不同的遍历方法,以下内容均摘自阮一峰的《ES6标准入门》 一、数组的遍历 除了原生js的forEach()遍历方法外,ES6 提供三个新的方法—— entries() , keys() 和 values() ——用于遍历数组。可以用 for...of 循环进行遍历,唯一的区别是 keys() 是对键名的遍历、 values() 是对键值的遍历, entries() 是对键值对的遍历。 for (let index of ['a', 'b'].keys()) { console.log(index); } // 0 // 1 for (let elem of ['a', 'b'].values()) { console.log(elem); } // 'a' // 'b' for (let [index, elem] of ['a', 'b'].entries()) { console.log(index, elem); } // 0 "a" // 1 "b"entries()、keys()、values()会将空位处理成undefined。 二、对象的遍历 ES6 一共有5种方法可以遍历对象的属性。 (1)for...in for...in 循环遍历对象自身的和继承的可枚举属性(不含 Symbol 属性)。 (2)Object.keys(obj) Object

7、群体类和群体数据的组织-2.线性群体

跟風遠走 提交于 2020-03-26 09:17:20
1、线性群体的概念 线性群体中的 元素次序与其位置关系 是对应的。在线性群体中,又 可按照访问元素的不同方法分 为直接访问、顺序访问和索引访问。 对可直接访问的线性群体,我们可以直接访问群体中的任何一个元素,而不必首先访问该元素之前的元素。 对顺序访问的线性群体,只能按元素的排列顺序从头开始依次访问各个元素。 还有两种特殊的线性群体--栈和队列。 2、直接访问群体---数组类 针对静态数组的缺陷,我们来 设计一个动态数组类模板Array ,它由任意多个位置连续的,类型相同的元素组成,其元素个数可在程序运行是改变。 a、数组类 数组类模板Aarray的 声明和实现 都在shuzu.h文件中,程序清单如下: #ifndef ARRAY_CLASS #define ARRAY_CLASS #include<iostream> #include<cstdlib> using namespace std; #ifndef NULL const int NULL=0; #endif //NULL //错误类型集合,共有三种类型的错误:数组大小错误、内存分配错误和下标越界 e num ErrorType { invalidArraySize,memoryAllocationError,indexOutOfRange }; //错误信息 char *errorMsg[] = { "Invalid

javascript中的数组对象

主宰稳场 提交于 2020-03-26 04:48:27
3 月,跳不动了?>>> 1.定义 要了解数组对象,首先我们先要了解什么是数组。所谓数组,就是相同数据类型的元素,按一定顺序排列的集合,就是把有限个类型相同的变量用一个名字命名,然后用编号区分他们的变量集合,这个名字称为数组,编号称为下标。 首先我们要定义一个数组,但是如何去定义数组呢,在JavaScript中定义数组的方法很多,常用的四种方法如下所示: 方法一 : var array = new Array(); array[0] = 1; array[1] = 2; array[2] = 3; 方法二: var array = new Array(3); array[0] = 1; array[1] = 2; array[2] = 3; 方法三: var array = new Array(1,2,3); 方法四: var array = [1,2,3] 针对于上面的四种方法,大家常用的为方法四。 2.操作 定义好一个数组之后,我们要操作数组中的元素,我们应该如何去操作呢,比如说如何设置固定位置的元素的值,如何添加元素,如何移除元素呢。其实对于JavaScript对于数组的,也就是array 的操作的方法还是很简单的。 我们给Array中的固定位置的元素赋值,可以通过数组名和下标进行赋值,如下。 var a = new Array(4); a[0] = 1, a[1] = 2,

Java 基础 - 数组

a 夏天 提交于 2020-03-26 03:08:57
目录 初识数组 数组的初始化 定义数组变量 初始化 静态初始化 动态初始化 数组的访问 数组元素读取、赋值 数组的遍历 for 循环 foreach循环 深入了解数组 JDK 中的 Array 数组的内存分布 多维数组 数组是编程语言中最常见的一种数据结构,可以用于储存多个数据,通常可通过数组元素的索引来访问数组元素,包括数组元素赋值和取出数组元素的值. 初识数组 数组也是一种类型,属于引用数据类型. 数组元素的类型是唯一的,一个数组里只能存储一种类型的数据. 数组的长度是固定的,即一个数组一单初始化完成,数组在内存中所占的空间将被固定下来,长度不在发生改变.即使把某个数组的元素清空,其所占的空间依然被保留. 数组的初始化 定义数组变量 Java支持两种语法格式定义数组: type[] arr; type arr[]; 对于这两种定义而言,通常使用第一种格式来定义数组,因为第一种有更好的语义.第二种容易和变量名混淆 初始化 Java 数组只有初始化之后才能使用,所谓的初始化,就是为数组的元素分配内存空间.并为每个数组元素赋初始值. 静态初始化 由程序员显示的指定每个数组原始的初始值.由系统决定数组的长度. 静态初始化的语法格式为: type[] arr = new type[]{item1, item2, item3,...}; type 为数组元素的数据类型, 数组元素类型必须为

js对象和数组之间相互转换

跟風遠走 提交于 2020-03-25 17:26:35
有个终极方法解决数组和对象的相互转换问题 下面的两个例子都是es6语法。 数组转换成对象: 知识点: 扩展运算符... let arr = [1,2,3]; let obj = {...arr}; console.log(obj); //{0: 1, 1: 2, 2: 3} 对象转换成数组 知识点: Object.values(obj) var obj = { 0: 'a', 1: 'b', 2: 'c' }; console.log(Object.values(obj)); // ['a', 'b', 'c'] 来源: https://www.cnblogs.com/blogwxb/p/12567145.html

使用ivx实现多级下拉菜单联动效果的经验总结

我只是一个虾纸丫 提交于 2020-03-24 23:54:44
在实际案例中经常会有这样的场景,我们需要对一些信息进行选择,同时这些数据之间还有明确的层级关系,比如选择省市区或者组织部门,当前一个下拉菜单选项固定后下一层级的下拉菜单选项是要随之改变的。今天就说一说如何实现这种多级下拉菜单联动的效果。 1.下拉菜单 下拉菜单是拓展组件的一种,选中下拉菜单再点击拓展组件可以添加下拉菜单选项和下拉菜单选择组两种子组件,下拉菜单选择组内也可以添加下拉菜单选项,它主要是用于选项比较多时对选项进行一个分组展示。 我们可以关闭自定义选项,自己输入一些选项并用逗号分开,此时我们在下拉菜单中添加的下拉菜单和选择就都不会生效了。开启自定义选项则显示的选项就是我们添加的下拉菜单选项了。 在下拉菜单的选择选项事件下,我们可以收到一个参数选中值,就是下拉菜单当前的选择项。其它组件也可以获取下拉菜单的当前选中值。 2.通用变量 通用变量为 Object 类型的数据变量,其初始值为空对象“{ }”。通用变量是一种结构化的数据变量,用于存储具有多级结构的数据。在使用通用变量时,可以通过添加节点的方式将变量结构化,也可以通过导入JSON格式的数据,自动生成各级节点。 我们可以看一下demo中的通用变量的结构,这个通用变量本身是一个对象,对象内包含两个元素,Province和city,其中Province的属性是一个字符串,city的属性是一个数组

JavaScript中的迭代器与循环

烂漫一生 提交于 2020-03-24 18:15:35
引言: 本文涉及内容包括: forEach方法 for-in方法 for-of方法 eval()方法 map()方法 今天来总结一下,JS中我们常见的循环方式与迭代器,深入了解他们之间的区别,及适合的使用场景。 最早的数组遍历方式 var a = ["a", "b", "c"]; for(var index = 0;index < a.length;index++){ console.log(a[index]); } for循环 ,我们最熟悉也是最常用的循环迭代方式,后来的许多迭代方法都是基于for循环封装的。 1 forEach 语法: [].forEach( function (value, index, array) { // ... }); forEach遍历数组,而不是遍历对象哦,而且在遍历的过程中不能被终止,必须每一个值遍历一遍后才能停下来. 也就是说:你不能使用break来退出循环, 不能使用return语句来返回到外层 jquery中forEach 注意其与jQuery的$.each类似,只不过参数正好是相反的! $.each([], function (index, value, array) { // ... }); 2 for...in 适合进行普通对象的遍历 for-in循环遍历对象的key,即键值对的键名。 特性如下: 1. 方法遍历到的index