一些杂七杂八的前端知识1

一、this指向

this是函数运行时自动生成的一个内部对象,只能在函数内部使用

1. 指向全局变量

纯粹的函数调用

2. 作为对象方法的调用

对象调用某个函数,这个函数里面所包含的this也就指向使用这个函数的对象了

3. 函数构造新对象时调用

new

4. apply调用

当 apply() 的参数为空时,this指向全局变量
当 apply(abj) 时,this指向obj对象

改变this指向:apply(),call(),bind()等函数

二、事件流

描述的是从页面中接受事件的顺序

冒泡型事件流:

元素节点 → 根节点;

捕获型事件流

根节点 → 元素节点;

三、事件代理(委托)

利用事件冒泡和目标元素,把事件处理器添加到父元素,等待子元素事件冒泡,并且父元素能够通过target(IE为srcElement)判断是哪个子元素,从而做相应处理。

好处:

减少事件处理器个数,提高性能;
DOM更新无需重新绑定事件处理器

阻止冒泡:

子元素中 e.stopPropagation();
容器中检测target元素,e.stopPropagation();

四、DNS域名解析查找顺序

浏览器缓存 → 操作系统缓存 → 本地区的域名服务器 → Root Server域名服务器

五、Vue知识点

1. MVVM的理解

Model - View - ViewModel 的缩写
Model:数据模型;定义数据修改和操作;业务逻辑
View:UI组件;将数据模型转化成UI展现出来
ViewModel:监听模型数据的变化;控制视图行为;处理用户交互;同步View和Model对象

2. Vue生命周期

控制整个Vue实例的过程时,更容易形成好的逻辑
-----第一次页面加载-----
beforeCreate(创建前)
created(创建后)——数据初始化
beforeMount(载入前)——编译模板;render函数
mounted(载入后)——挂载DOM;渲染
---------------------------
beforeUpdate(更新前)
updated(更新后)——更新;渲染
beforeDestroy(销毁前)
destroyed(销毁后)

3.Vue组件间参数传递

  • 父组件与子组件
    • 父 → 子:子组件通过props方法接受数据
    • 子 → 父:$emit方法传递参数
  • (非父子组件)兄弟组件传值
    • eventBus:创建一个事件中心,相当于中转站,可用它来传递事件和接受事件
    • VUEX

4. Vue实现数据双向绑定原理

使用 数据劫持 + 发布者-订阅模式,通过 Object.defineProperty() 来劫持各个属性的setter和getter,在数据变动时发布消息给订阅者,触发相应的监听回调。

将MVVM作为数据绑定入口:
Observer:监听自己 model 数据变化
Compile:解析编译模板指令 {{ }}
watcher:搭起 Observer 与 Compile 之间通信桥梁

5. Vue的特点

组件化、性能好、钩子函数、插件、学习成本低、支持指令、支持过滤器、不支持低版浏览器、数据驱动

6. Vue的计算属性computed

在模板中放入太多的逻辑会让模板过重且难以维护,尽量在需要对数据进行复杂处理且多次使用的情况下使用computed

有以下使用好处:

  1. 数据处理结构清晰;
  2. 依赖于数据,数据更新,处理结果自动更新;
  3. 计算属性内部 this 指向 vm 实例;
  4. 在 template 调用时,直接写计算属性名;
  5. 常用 getter 方法获取数据,也可使用 set 方法改变数据;
  6. 相较于 methods ,不管依赖数据变不变,methods 都会重新计算,而 computed 在依赖数据不变时,从缓存中获取,不会重新计算。

7. 一句话回答Vue面试题

css 只在当前组件起作用
答:在 style 标签中写入 scoped
v-if 和 v-show 的区别
答:v-if 按照条件是否渲染,v-show 是 display 的 block 或 none
vue.js 的两个核心
答:数据驱动、组件系统
vue 的几种常见指令
答:v-if 、v-for 、v-bind 、v-on(可以绑定多个方法)、v-show 、v-else ……
$route 与 $router 的区别
答:$route 是“路由信息对象”,包括 path 、params 、hash 、query 、fullpath 、matched 、name 等路由信息参数;$router 是“路由实例对象”,包括路由跳转方法、钩子函数……
vue 常用修饰符
答:
-----指令修饰符-----
① <input v-model.lazy=“msg”> —— 在 change 时而非 input 时更新
② <input v-model.number=“age”> —— 自动将用户输入转为数值类型
③<input v-model.trim=“name”>
----------------------
-----事件修饰符-----
① v-on:click.stop —— 阻止单击事件继续传播
② v-on:submit.prevent —— 提交事件不再重载页面
③ .self ——当事件发生在该元素本身而不是子元素的时候触发
④ .capture —— 与 .self 相反
----------------------
vue 中 key 值的作用
答:v-for:key 的作用主要是为了高效地更新虚拟DOM(diff算法);除此之外,使用 key 属性可以强制替换元素
<transition>
  <span :key=“text”>{{text}}</span>
</transition>
如果 text 发生改变,整个 <span> 会发生更新,Vue会认为产生新元素,删除旧元素,从而触发过渡

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/247563.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

最新的vue webpack模板没有dev-server.js文件,进行后台数据模拟笔记

最新的vue里dev-server.js被替换成了webpack-dev-conf.js 在模拟后台数据的时候直接在webpack-dev-conf.js文件中修改 第一步&#xff0c;在const portfinder require(‘portfinder’)后添加//第一步 const express require(express) const app express()//请求server var a…

20080331 - What is a PID, How is it useful when troubleshooting a system

PID Process Identifier, 是一个全局唯一的用来标识进程的整数。在多任务系统中&#xff0c;可用来诊断系统中发生错误的进程。 转载于:https://www.cnblogs.com/likun/archive/2008/03/31/1130458.html

记一次el-input使用的坑

记一次el-input使用的坑 el-input使用不同与原生input&#xff0c;所以在vue中改变绑定的数据时需注意 <el-input v-model"form.schedule" input"validateNumber($event)" />要想在input时改变form.schedule的值来改变输入框显示的值&#xff0c;以…

使用pm2启动Node和Vue项目教程

安装pm2 $ npm install -g pm2 命令行全局安装pm2 将pm2加入到命令中去?1234ln -s /usr/local/src/node-v8.9.1-linux-x64/bin/pm2 /usr/local/bin/pm2ln -s /usr/local/src/node-v8.9.1-linux-x64/bin/pm2-dev /usr/local/bin/pm2-devln -s /usr/local/src/node-v8.9.1-lin…

对正则的研究

视频链接地址&#xff08;视频格式可按需增删&#xff09; /^https?:\/\/.*?(swf|avi|flv|mpg|rm|mov|wav|asf|3gp|mkv|rmvb|mp4)$/i 图片链接地址&#xff08;图片格式可按需增删&#xff09; /^https?:\/\/.*?(gif|png|jpg|jpeg|webp|svg|psd|bmp|tif)$/i 24小时制时间&a…

MVVM原理还你

众所周知当下是MVVM盛行的时代&#xff0c;从早期的Angular到现在的React和Vue&#xff0c;再从最初的三分天下到现在的两虎相争。 无疑不给我们的开发带来了一种前所未有的新体验&#xff0c;告别了操作DOM的思维&#xff0c;换上了数据驱动页面的思想&#xff0c;果然时代的进…

poj1316

1&#xff0e;链接地址 https://vjudge.net/problem/POJ-1316 2&#xff0e;问题描述 In 1949 the Indian mathematician D.R. Kaprekar discovered a class of numbers called self-numbers. For any positive integer n, define d(n) to be n plus the sum of the digits of …

CSS页面布局解决方案大全

前端布局非常重要的一环就是页面框架的搭建&#xff0c;也是最基础的一环。在页面框架的搭建之中&#xff0c;又有居中布局、多列布局以及全局布局&#xff0c;今天我们就来总结总结前端干货中的CSS布局。 居中布局 水平居中 1&#xff09;使用inline-blocktext-align&#xff…

AES加密算法的学习笔记

AES简介高级加密标准(AES,Advanced Encryption Standard)为最常见的对称加密算法(微信小程序加密传输就是用这个加密算法的)。 对称加密算法也就是加密和解密用相同的密钥&#xff0c;具体的加密流程如下图&#xff1a; 下面简单介绍下各个部分的作用与意义&#xff1a; 明文P没…

为什么要用setTimeout模拟setInterval ?

setInterval有两个缺点&#xff1a; 使用setInterval时&#xff0c;某些间隔会被跳过&#xff1b;可能多个定时器会连续执行&#xff1b;在前一个定时器执行完前&#xff0c;不会向队列插入新的定时器&#xff08;解决缺点一&#xff09;保证定时器间隔&#xff08;解决缺点二&…

前端 crypto-js aes 加解密

背景 前段时间公司做项目&#xff0c;该项目涉及到的敏感数据比较多&#xff0c;经过的一波讨论之后&#xff0c;决定前后端进行接口加密处理&#xff0c;采用的是 AES BASE64 算法加密~ 网上关于 AES 对称加密的算法介绍看上一篇&#xff01; 具体实现 其实搞懂了是怎么一回事…

对排序算法的研究

算法是什么&#xff1f;、 算法&#xff08;Algorithm&#xff09; 代表着用系统的方法描述解决问题的策略机制&#xff0c;可以通过一定规范的 输入&#xff0c;在有限时间内获得所需要的 输出。 一个算法的好坏是通过 时间复杂度 与 空间复杂度 来衡量的。 简单来说&#xff…

js实用算法

判断文本是否为回文 定义&#xff1a;如果将一个文本翻转过来&#xff0c;能和原文本完全相等&#xff0c;那么就可以称之为“回文”。 方法一&#xff08;字符串、数组内置方法&#xff09;123456789101112131415/** 判断文字是否为回文* param {string|number} val 需要判断的…

stylus

stylus格式 指将css中{} &#xff1b;去掉即可

随笔记录(2019.7.10)

1、ISO/OSI 网络七层参考模型 物理层 数据链路层 网络层 传输层 会话层 表示层 应用层 2、 TCP/IP 网络四层模型和五层模型 四层模型&#xff1a; 网络接口层 网络层 传输层 应用层 五层模型&#xff1a; 物理层 数据链路层 网络层 传输层 应用层 3、 协议簇 &#xff08;1&a…

转发:Ajax动态画EChart图表

本人由于项目需要&#xff0c;在状态变化的时候需要动态绘制对应数据的EChart图表&#xff0c;并且不刷新整个网页。 所以就用Ajax动态画EChart图表&#xff0c;下面是开发过程中遇到的一些坑的总结。 流程&#xff1a;页面首次加载时展示一幅原始的图形&#xff0c;若后台数据…

如果硬盘不显示可以这么处理

http://www.zhuangjiba.com/soft/9574.html转载于:https://www.cnblogs.com/braveheart007/p/11167311.html

Highcharts的饼图大小的控制

在Highcharts中&#xff0c;饼图的大小是Highcharts自动计算并进行绘制。饼图的大小受数据标签大小、数据标签到切片的距离影响。当数据标签内容较多&#xff0c;并且距离切片较远时&#xff0c;饼图就会被压缩的很小。解决这个问题&#xff0c;有以下几种方法&#xff1a;&…

转:谷歌离线地图基础

一.需要文件 gapi3文件夹&#xff1a;存放接口等tilemap文件夹&#xff1a;存放图片gapi.js文件maptool.js文件 二.html配置 <script type"text/javascript" src"gapi.js"></script> <script type"text/javascript" src"map…

HTTP Header 详解

搜集资料 HTTP&#xff08;HyperTextTransferProtocol&#xff09;即超文本传输协议&#xff0c;目前网页传输的的通用协议。HTTP协议采用了请求/响应模型&#xff0c;浏览器或其他客户端发出请求&#xff0c;服务器给与响应。就整个网络资源传输而言&#xff0c;包括message-h…