vue源码研究--Data为啥要写成函数?

大家在使用vue的时候,肯定有想过为什么 data 要写成函数,而不允许写成对象? 首先我们要想到: data是 Vue 实例上的一个属性。 对象是对于内存地址的引用。 函数有自己的作用域空间。 第一点无可厚非,data属性附着于 Vue 实例上。 第二点,JS 的数据类型分为基本类型和引用类...

2019-06-03 11:00:23

阅读数 60

评论数 0

cnpm安装手册

1.安装nodejs 2.配置环境变量 3.设置代理 首先用:npm install --save 如果网络异常,再执行:cnpm install --save 成功后,执行:cnpm run dev 正常显示机构服务平台界面后,确认安装成功完成。 ...

2019-05-30 13:26:48

阅读数 77

评论数 0

vscode自定义插件安装位置

我们安装的vsode编辑器的插件目录默认在C盘: extensions文件会很大,占用C盘空间 我们可以通过自定义vscode插件安装位置来解决 1、前提:已安装VSCode,并且已将其添加到了环境变量path中; 2、打开cmd,输入code --help,显示如下: 方法: 1、(推荐,不...

2019-05-29 15:14:09

阅读数 82

评论数 0

面向对象的详细理解与继承方法对比

类的声明 /** *es5 */ var Animal = function () { this.name = 'Animal'; }; /** * es6中class的声明 */ ...

2019-05-22 23:00:22

阅读数 70

评论数 0

前端安全CSRF

安全类:CSRF CSRF:跨站请求伪造,英文:Cross-site request forgery forgery 攻击原理: 从上图可以看出,要完成一次CSRF攻击,受害者必须依次完成两个步骤:   1.登录受信任网站A,并在本地生成Cookie。   2.在不退出A的情况下,访问危险网站B...

2019-05-19 21:31:45

阅读数 2168

评论数 0

HTTP协议知识总结

1.HTTP协议的主要特点 1.支持客户/服务器模式。 2.简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。 3.灵活:HTTP允...

2019-05-19 21:11:20

阅读数 78

评论数 0

跨域通信的几种方法

1. jsonp工作原理,参考jsonp.js // 创建ajax【参考网址】https://segmentfault.com/a/1190000006669043 jsonp.js jsonp = function (url, onsuccess, onerror, charset) { ...

2019-05-19 20:21:38

阅读数 100

评论数 0

实例化的对象没有prototype属性

function Human(){ this.height=180; this.say=function(){ alert("我在说话"); } } var he = new Human(); alert(Human.prototype);//Obje...

2019-05-19 19:45:51

阅读数 69

评论数 0

js原型链的详细介绍

1.创造对象的方法: //第一种方式:字面量 var o1 ={name:'o1'}; var o2=new Object({name:'o2'}); //第二种方式:通过构造函数 var M=function(name){this.name=name}; var o3=new M('o3') /...

2019-05-14 22:29:47

阅读数 70

评论数 0

js面向对象理解

ECMAScript 有两种开发模式:1.函数式(过程化),2.面向对象(OOP)。面向对象的语言有一个标志,那就是类的概念,而通过类可以创建任意多个具有相同属性和方法的对象。但是,ECMAScript 没有类的概念,因此它的对象也与基于类的语言中的对象有所不同。 js(如果没有作特殊说明,本文...

2019-05-13 21:25:29

阅读数 76

评论数 0

盒子模型详细介绍---面试全面回答

1.基本概念:标准模型+IE模型 区别? 在网页中,一个元素占有空间的大小由几个部分构成,其中包括元素的内容(content),元素的内边距(padding),元素的边框(border),元素的外边距(margin)四个部分。这四个部分占有的空间中,有的部分可以显示相应的内容,而有的部分只用来分隔...

2019-05-08 22:36:19

阅读数 62

评论数 0

css实现双飞翼布局,三列布局,中间宽度自适应,两边定宽--五种方案对比延伸

标题css实现双飞翼布局,三列布局,中间宽度自适应,两边定宽;假设高度固定300px; html <div class="container"> <div class="left"&g...

2019-05-08 21:36:53

阅读数 58

评论数 0

typeof 与 instanceof之间的区别

ES6规范中有7种数据类型,分别是基本类型和引用类型两大类 基本类型(简单类型、原始类型):String、Number、Boolean、Null、Undefined、Symbol 引用类型(复杂类型):Object(对象、Function、Array) 1、typeof返回结果是该类型的字符串形式...

2019-05-06 21:15:42

阅读数 62

评论数 0

js闭包--关于在for循环中每隔一秒打印一次

上篇我们介绍了js闭包-关于在for循环中绑定事件打印变量i 我们可以将结果一次性打印出0 1 2 3 4,那么下面我介绍一下每隔一秒钟一次打印出 0 1 2 3 4 1000*i是重点 es5方法: for (var i = 0; i < 5; i++) { (function...

2019-05-06 19:52:00

阅读数 130

评论数 0

js闭包--关于在for循环中绑定事件打印变量i是最后一次。

闭包是指有权访问另一个函数作用域中的变量的函数,创建闭包的常见的方式,就是在一个函数内部创建另一个函数,通过另一个函数访问这个函数的局部变量。 在for循环里面的匿名函数执行 return i 语句的时候,由于匿名函数里面没有i这个变量,所以这个i他要从父级函数中寻找i,而父级函数中的i在for循...

2019-05-05 22:53:06

阅读数 69

评论数 0

ES6 之reduce的高级技巧

reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。 语法:array.reduce(function(total, currentValue, currentIndex, arr), initialValue) reduce() 可以作为一个高阶函...

2019-05-05 20:27:42

阅读数 60

评论数 0

gulp的配置文件

1. 全局安装 gulp: $ npm install --global gulp 2. 作为项目的开发依赖(devDependencies)安装: $ npm install --save-dev gulp 3. 在项目根目录下创建一个名为 gulpfile.js 的文件: var gulp =...

2019-05-05 19:30:01

阅读数 59

评论数 0

es6中的Set 实现并集(Union)、交集(Intersect)和差集(Difference)

ES6 提供了新的数据结构 Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。 Set本身是一个构造函数,用来生成 Set 数据结构。数组的map和filter方法也可以间接用于 Set 了。因此使用 Set 可以很容易地实现并集(Union)、交集(Intersect)和差集(Diff...

2019-05-04 23:01:13

阅读数 55

评论数 0

js筛选条件匹配对应值的几种方法

根据状态值筛选出对应的状态文字 switch写法: function test (status) { switch (status) { case 0: return "未启动" case 1: return "...

2019-05-04 22:44:31

阅读数 62

评论数 0

如何写出可读性强实用性强又高质量的JavaScript 代码,需要掌握一些小技巧

虽然现在写代码不像以前,现在都有 eslint、prettier、babel(写新版语法) 这些来保证代码格式,然而,技术手段再高端都不能解决代码可读性(代码能否被未来的自己和同事看懂)的问题,因为这个问题只有人自己才能解决。要想写出不让你同事或者你的交接人吐槽的代码,首先要有良好的代码风格,下列...

2019-05-03 22:53:25

阅读数 58

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭