对象数组

arguments的使用

邮差的信 提交于 2020-02-22 23:42:28
arguments 当我们不确定有多少个参数传递的时候,可以用 arguments 来获取。在JavaScript中,arguments实际上它是当前函数的一个 内置对象 。所有函数都内置了一个arguments对象,arguments对象中 存储了传递的所有实参 。 arguments展示形式是一个伪数组 ,因此可以进行遍历。伪数组具有以下特点: 具有length属性 按引索方式储存数据 不具有数组的push、pop等方法 //arguments的使用 只有函数才有arguments对象 而且每个函数都内置好了这个arguments功能 function fn ( ) { console . log ( arguments ) //里面储存了所有传递过来的实参 console . log ( arguments . length ) console . log ( arguments [ 2 ] ) //我们可以按照数组的方式遍历arguments for ( var i = 0 ; i < arguments . length ; i ++ ) { console . log ( arguments [ i ] ) } } fn ( 1 , 2 , 3 ) fn ( 1 , 2 , 3 , 4 , 5 ) /* 伪数组 并不是正真意义上的数组 1、具有数组的length属性 2

YAML格式

走远了吗. 提交于 2020-02-22 19:35:48
转载:https://www.cnblogs.com/wxmdevelop/p/7341292.html YAML 的意思其实是:"Yet Another Markup Language"(仍是一种置标语言)的缩写。 功能 YAML的语法和其他高阶语言类似,并且可以简单表达清单、散列表,标量等资料形态、。 它使用 空白符号缩排 和 大量依赖外观的特色,特别适合用来表达或编辑数据结构、各种设定档、倾印除错内容、文件大纲(例如:许多电子邮件标题格式和YAML非常接近)。 尽管它比较适合用来表达阶层式(hierarchical model)的数据结构,不过也有精致的语法可以表示关联性(relational model)的资料。 由于YAML使用空白字符和分行来分隔资料,使的他特别适合用 grep、Python、Perl、Ruby 操作。 其让人最容易上手的特色是巧妙避开各种封闭符号,如:引号、各种括号等,这些符号在嵌套结构中会变得复杂而难以辨认。 格式 多行缩进 数据结构可以用类似大纲的缩排方式呈现,结构通过 缩进 来表示,连续的项目通过 减号“-” 来表示,map 结构里面的 key/value 对用冒号“:”来分隔。样例如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 house: family: name: Doe parents: - John -

浅谈javascript的Array.prototype.slice.call

你说的曾经没有我的故事 提交于 2020-02-22 18:07:32
浅谈javascript的Array.prototype.slice.call 作者:myvin 字体:[ 增加 减小 ] 类型:转载 时间:2015-08-31 我要评论 发现大多人都用了Array.prototype.slice.call(argments,0),一直不明白这句是干什么的。而昨天温习了slice()方法,再参考Function.call(thisArg[, arg1[, arg2[, ...]]]),还是不得而知(我脑筋转得慢:|)。 写字前面 在js中我们经常会看到Array.prototype.slice.call(arguments,0)的写法,当然,这个方法的作用也许大家都明白,那就是把类数组对象转换成一个真正的数组。关于这个方法,我说说自己的理解。 这里涉及到slice()方法和call()方法,所以先简单说说这两个方法。 slice()方法 数组和字符串都有这个slice方法,这个方法的作用是截取一段数据。它接收两个参数,第一个参数是要截取的位置索引,第二参数可选,表示要截取到的结束位置,但是不包括结束位置。在数组中,该方法的返回值是包含截取元素的组成的数组,在字符串中,该方法的返回值是包含截取字符串组成的字符串。 该方法也可以传入负数值,当参数为负数的时候,将参数和数组或字符串的长度相加得到的正数作为实际的参数。 如下: ? 1 2 3 [1,2

C++之对象数组

柔情痞子 提交于 2020-02-22 18:00:48
对象数组的定义与访问 定义对象数组   类名 数组名[元素个数]; 访问对象数组元素   通过下标访问   数组名[下标].成员名 对象数组初始化   数组中每一个元素对象被创建时,系统都会调用类构造函数初始化该对象。 通过初始化列表赋值。 例: Point a[2]={Point(1,2),Point(3,4)};   如果没有为数组元素指定显式初始值,数组元素便使用默认值初始化(调用默认构造函数)。 数组元素所属类的构造函数   当数组中每一个对象被删除时,系统都要调用一次析构函数。 //Point.h # ifndef _POINT_H # define _POINT_H class Point { //类的定义 public : //外部接口 Point ( ) ; Point ( int x , int y ) ; ~ Point ( ) ; void move ( int newX , int newY ) ; int getX ( ) const { return x ; } int getY ( ) const { return y ; } static void showCount ( ) ; //静态函数成员 private : //私有数据成员 int x , y ; } ; # endif //_POINT_H //Point.cpp # include

JS 数组 学习笔记

不问归期 提交于 2020-02-22 17:59:22
什么是数组 数组(array)是按次序排列的一组值。每个值的位置都有编号(从0开始),整个数组用方括号表示。本质上数组属于一种特殊的,由 Array 构造出来的对象, typeof 运算符返回数组的类型是 object ,任何类型的数据都可以放入数组。 var arr = ['a', 'b', 'c'] typeof arr // 'object' var arr2 = [ {a: 1}, [1, 2, 3], function(){ return true; } ] arr2[0] // {a: 1} 数组的赋值和读取 var arr = [] // 赋值 arr[0] = 'a' arr[1] = 'b' arr[2] = 'c' // 读取数组中编号是 2 的值 arr[2] // c 多维数组 var a = [[1, 2], [3, 4]] a[0][0] // 1 a[1][1] // 4 数组的键名 由于数组成员的键名是固定的(默认总是0、1、2...),因此数组不用为每个元素指定键名,而对象的每个成员都必须指定键名。JavaScript 语言规定,对象的键名一律为字符串,所以, 数组的键名其实也是字符串 。之所以可以用数值读取,是因为非字符串的键名会被转为字符串。 var arr = ['a', 'b', 'c'] arr['0'] // 'a' arr[0] //

(JavaScript)基本对象

不问归期 提交于 2020-02-22 16:01:18
文章目录 一、 Function:函数(方法)对象 二、Array:数组对象 三、 Boolean 四、Date:日期对象 五、Math:数学对象 六、 RegExp 正则表达式对象 七、Global 一、 Function:函数(方法)对象 JavaScript function 语句:点击参考 创建: ( 1 ) var fun = new Function ( 形式参数列表 , 方法体 ) ; //不常见,见过即可 ( 2 )function 方法名称 ( 形式参数列表 ) { 方法体 } ( 3 )var 方法名 = function ( 形式参数列表 ) { 方法体 } 方法: 属性:length 代表形参的个数 特点: (1)方法定义时形参的类型不用写,返回值类型也不写。(因为都是 var,不写也可以) (2)方法是一个对象,如果定义名称相同的方法,会覆盖 (3) 在JS中,方法的调用只与方法的名称有关,和参数列表无关 (4)在方法声明中有一个隐藏的内置对象(数组),arguments,封装所有的实际参数 调用:方法名称(实际参数列表); 二、Array:数组对象 JavaScript Array(数组) 对象:点击参考 创建: ( 1 )var arr = new Array ( 元素列表 ) ; ( 2 )var arr = new Array ( 默认长度 ) ;

前端面试题(亲身面试经验)

南楼画角 提交于 2020-02-22 14:43:55
  最近面试了一些公司,趁着疫情期间,总结一波。大家可以看看 会有用的。 webpack 1、webpack中entry和output的作用 webpack中的entry标记入口文件,它可以是一个字符串(单入口)或者一个数组(多入口),output用来标记输出,主要有两个属性 path和 filename。其次就是publicPath 和chunkFileName 2、webpack中loader和plugin的作用 loader 用于加载某些资源文件。 因为webpack 本身只能打包commonjs规范的js文件,对于其他资源例如 css,图片,或者其他的语法集,比如 jsx, coffee,是没有办法加载的。 这就需要对应的loader将资源转化,加载进来。loader是用于加载的,它作用于一个个文件上。 plugin 用于扩展webpack的功能。它直接作用于 webpack,扩展了它的功能。当然loader也是变相的扩展了 webpack ,但是它只专注于转化文件。而plugin的功能更加的丰富,而不仅局限于资源的加载。 3、webpack中可以有哪些优化 1、优化Loader的文件搜索范围,指定include、exclude 2、把Babel编译过的文件缓存起来 loader: 'babel-loader?cacheDirectory=ture' 3、懒加载、按需加载

ES6新特性总结

青春壹個敷衍的年華 提交于 2020-02-22 14:38:54
ES6新特性总结 日常开发中写的 JavaScript 代码,会用到ES6的部分新特性,这篇博客总结了ES入门的知识点,供日常查阅使用。 1. let和const命令 var ES6之前, 我们定义变量使用关键词var. 但是var有个问题就是定义的变量很容易变成全局变量, 这并不是我们想看到的.比如: for (var i = 0; i < 5; i++){ console.log(i); } console.log(i) // 5 循环中定义的i变量在循环外也可以使用. let 使用let声明变量, 只在let命令所在的代码块中有效. for (let i = 0; i < 5; i++){ console.log(i); } console.log(i) // undefined const const 声明的变量是常量,不能被修改,类似于java中final关键字 const a = 1 const a = 2 // 报错: Assignment to constant variable. 2.字符串扩展 在ES6中,为字符串扩展了几个新的API. includes() : 返回布尔值,表示是否找到了参数字符串; startsWith() : 返回布尔值,表示参数字符串是否在原字符串的头部; endsWith() : 返回布尔值,表示参数字符串是否在原字符串的尾部.

深入理解JVM(学习过程)

醉酒当歌 提交于 2020-02-21 09:30:55
深入理解JVM 这,仅是我学习过程中记录的笔记。确定了一个待研究的主题,对这个主题进行全方面的剖析。笔记是用来方便我回顾与学习的,欢迎大家与我进行交流沟通,共同成长。不止是技术。 2020年02月06日22:43:09 - 记录学习过程 终于开始了。在学习这个之前,看了zhanglong老师的 java 8 和springboot 迫不及待了。先开始吧。 写在前边 论方法论 听说之前还有netty 和 kotlin 。学习风格就是,每一门课程之前,前两节课不进入主题,讲方法论。 从他人身上学习优点。加强自己的学习。从人去学习,从事去学习。我们只有亲身经历一件事情,才会产生自己的想法。从事情学习付出的成本会相对的高一点。只有一件事,你失败了,才会发现你存在什么问题。从过程中吸收一点经验,指导着你未来学习前进的方向。从人去学习来说,不是你自己亲身经历的,要学习辨别能力。为什么大家在看书的时候,看书的印象不如你自己操作的印象深刻呢?这些都是值得去思考的。更为高效的方式,还是看别人的故事,揣摩自己的人生。将别人拥有的技能转换成自己的技能,这样才是高效的学习。 学习的过程中,一定要做到两点。 输入。输入是必要的。 有输入,必定要有输出。记笔记,写博客,给别人去讲。 能给别人讲明白的前提是自己要明白。自己明白了,就一定能给别人讲明白了吗?你自己明白,给别人讲完之后,你自己也不明白了

ES6 Set对象

岁酱吖の 提交于 2020-02-21 08:11:09
Set对象 set对象: 接收一个数组进行操作 { // 构造函数 用来构建某一类型的对象 - 对象的实例化 let arr = [2,1,2,2,3,4,3,4,5]; let s = new Set(arr);//可以传数组或者类数组 console.log(s);//这里也就是 数组的值: {1, 2, 3, 4, 5} // 所以快速去重一个数组可以使用Set()对象: arr = [...s]; console.log(arr); /* 1.传进去的数组 自动进行去重: 第一个出现的值优先保留下来 */ } set属性和方法 { let arr = [2,1,2,2,3,4,3,4,5]; let s = new Set(arr); console.log(s.size);//去重之后的保留的个数 : 5; 和length;类似 // s.clear();//清空所有值 -> 返回值:undefined... console.log(s); s.delete(4);//删除具体的值 -> 返回值:布尔值 console.log(s); s.add("111");//添加某一项,当然自动有去重效果的! -> 返回值:set对象本身,所以这个属性可以连续使用->s.add(1).add(2).add(3);链式操作 console.log(s); console.log(s