数组方法总结
1. concat()
1 | 语法: arr1.concat(arrayX,arrayX,......,arrayX) |
示例1:
1 | let arr1 = [1, 2, 3]; |
1 | 语法: arr1.concat(arrayX,arrayX,......,arrayX) |
示例1:
1 | let arr1 = [1, 2, 3]; |
因为我电脑之前有装了vue-cli2的,所以要先卸载以前的版本,再安装新的版本。
npm uninstall vue-cli -g
然后再安装新版本
npm install -g @vue/cli
安装成功后用vue -V
查看,发现还是2.9.x版本,我看了一下node版本是符合要求的,然后我真是的一脸懵逼。然后网上搜了下,最后找到了一个解决办法(window系统有遇到这个问题,mac没有)。
nvm install node版本号
,就可以安装相应版本的node,最后nvm use node版本号
使用指定版本的nodenpm install -g @vue/cli
,发现输出终于是3.x了,欢呼!!我们去学习某个新技能,肯定是因为它有某些实用价值,它能解决某些问题,能提高某些方面效率。
正则表达式也是如此。
正则表达式是匹配模式,
正则表达式能做的事情:
总的来说,正则表达式可以用来匹配字符,也可以匹配位置,可以使我们少写很多行代码。
说到原型,我们必须要了解prototype和proto,这两个很多人可能总是会分不清,接下来我会尽可能以通俗易懂的语言去解释这两者的不同。
我们看到的大多数引用类型值:函数,数组,对象都是Object的实例,所以Object可以说是一个基本。
我们去创建一个Object的实例,有两种方法,一种是通过new
例如:
var obj = new Object()
还有一种通过对象字面量
var obj = {}
每个构造函数都有一个原型对象,通过prototype去访问,比如Object.prototype,然后这个原型对象包含一个constructor属性,指向构造函数,也就是Object.prototype.constructor === Object,还包含了一些内置函数,或者自定义的函数。
然后实例化这个构造函数,得到的实例,有一个proto属性指向构造函数的原型对象。
下面是Object的一个例子。
所以我们可以看到obj.proto=== Object.prototype
总结:
在js中,函数是一种特殊的对象,所以函数也有proto
var count = 1;
function a () {
this.count ++
console.log(this.count)
}
a.count = 0;
a()
console.log(a.count)
谣言: this指向自身
重要的事情说三遍
this永远指向最后调用它的对象
this永远指向最后调用它的对象
this永远指向最后调用它的对象
var a;
console.log(a);
console.log(b);
输出?
a = 2;
var a;
console.log(a);
输出?
console.log(a);
var a = 2;
输出?
我们之前说过js代码是由上到下去执行的,但是上面代码的输出结果好像显示的不是这样,其实不是的,js代码确实是由上到下去执行的,只是执行的不是我们直接写的代码,而是我们代码通过编译后生成的代码。
我们可以将js引擎执行过程分为三个阶段,分别是语法分析,预编译和解释执行阶段。
众所周知,JavaScript是一位网景公司的奇人布兰登艾奇花了十天就开发出来的。一开始JavaScript叫LiveScript,当时Java特别火,为了蹭个热度,网景公司将其改名成了JavaScript。
微软在IE3的时候加入了JavaScript的实现,为了避免纠纷,命名为JScript。还有其他公司自己研发了JavaScript,所以这样兼容性就称为一个很头疼的事情,所以业内人士强烈呼吁定制一个标准。
1996年,网景公司将JavaScript提交给国际标准化组织ECMA,次年,该组织发布了浏览器脚本语言的标准,并将这种语言称为ECMAScript,也就是我们常说的ES。所以ES是一种标准,JavaScript是ES的实现。
ES5是指ECMAScript5.0,ECMAScript5.1版本,ES6是泛指,指5.1版本以后的JavaScript的下一代标准。
最近由于项目需要去实现3D可视化,所以学了一下D3.js。使用版本是v4.x。
比如我们写东西的时候刚开始写了一部分,先保存为了文章1,然后后续写的时候,改了一些东西,删除了之前的一部分,但是你又可能需要之前的部分,所以你会另存为文章2,所以这样下去,等你的文章写完,可能会有文章1,2,3,4。。。很多个副本,然后你想去找其中的一段,但是又可能不记得在哪了,所以要一个个文件查看,这样就没有效率,重复做了很多事情,而且很乱。
然后Git可以帮你解决这些问题,它能帮我们记录每次文件的改动,而且可以多人协同完成,这样我们可以快速,高效的进行版本管理。
GIt是分布式版本控制系统。
Git不需要联网,每个人都可以拷贝一份完整的版本库到本地,然后在本地进行一系列操作。
平时我们写代码的时候最常用的一个操作就是根据css选择符选择与某个模式匹配的DOM元素,比如$(“css选择符”)。但是用jquery的话我们必须引用jquery库。现在我们可以不需要引js库就可以实现这个功能。
选择符API的核心是两个方法:querySelector()和querySelectorAll()。还有一个matchesSelector()方法。
Document、Element,DocumentFragment三种类型的元素都有这两个方法。