自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 Ajax详解

1、什么是Ajax和JSON,它们的优缺点Ajax是全称是asynchronous JavaScript andXML,即异步JavaScript和xml,用于在Web页面中实现异步数据交互,实现页面局部刷新优点:可以实现异步通信效果,页面局部刷新,带来更好的用户体验JSON是一种轻量级的数据交换格式,看着像对象,本质是字符串优点:轻量级、易于人的阅读和编写,便于js解析,支持复合数据类型2、ajax的交互流程有哪几步?1.var xhl=new XMLHttpRequest() /

2021-12-22 19:06:38 338 1

原创 Vue面试题后续

1.Vue 如何检测数组变化数组考虑性能原因没有用 defineProperty 对数组的每一项进行拦截,而是选择对7种数组(push,shift,pop,splice,unshift,sort,reverse)方法进行重写(AOP 切片思想)。所以在 Vue 中修改数组的索引和长度无法监控到。需要通过以上7种变异方法修改数组才会触发数组对应的watcher进行更新2.Vue的父子组件生命周期钩子函数执行顺序加载渲染过程 父beforeCreate -> 父created ->

2021-12-22 11:53:26 197

原创 Vue面试题

1、Vue总结vue的使用方式有两种方式一:像jQuery一样引入使用--vue的特性都可以使用,双向数据绑定方式二:跟node结合起来使用,使用的时候有点像java语言(面向对象)2、为什么要使用vue(使用Vue的好处是什么)?MVVM的框架那么多?MVVM跟MVC有什么区别?MVVM的框架你知道有哪些?2.1、Vue好处:vue两大特点:响应式编程、组件化vue的优势:轻量级框架、简单易学、双向数据绑定、组件化、视图、数据和结构的分离、虚拟DOM、运行速度快2.2、MV

2021-12-22 11:06:55 64

原创 js面试题续

1.请说出三种减低页面加载时间的方法 1、压缩 css、js 文件 2、合并 js、css 文件,减少 http 请求 3、外部 js、css 文件放在最底下 4、减少 dom 操作,尽可能用变量替代不必要的 dom 操作2.Javascript 作用域链?JavaScript有全局作用域和函数作用域,没有块作用域(es6中使用let声明的变量有块级作用域),函数的嵌套形成不同层次的作用域,嵌套的层次形成作用域链。作用域链:变量的使用,从里向外,层层的搜索,搜索到了就可以...

2021-12-21 17:09:47 552

原创 js面试题

1.事件委托事件委托利用了事件冒泡,将子元素自己的事件交给父亲来处理。(子元素自己不绑定事件也不处理事件,委托给父元素来处理)<ul> <li>苹果</li> <li>香蕉</li> <li>凤梨</li></ul>// good 事件委托document.querySelector('ul').onclick = (event) => { var ev = event

2021-12-21 14:07:28 241

原创 面试题总结

1.javascript的typeof返回哪些数据类型 number,string,boolean,underfind,symbol(ES6),Object,Function2.例举3种强制类型转换和2种隐式类型转换?强转:string,Number,Boolean,parseInt,parseFloat隐式转换:(1).四则运算    加法运算符+是双目运算符,只要其中一个是string类型,表达式的值便是一个String。    对于其他的四则运算,只有其中一个是N...

2021-12-21 11:55:40 81

原创 原型和原型链

一、prototype在JavaScript中,每个函数都有一个prototype属性,这个属性指向函数的原型对象。function Person(age) { this.age = age }Person.prototype.name = 'kavin'var person1 = new Person()var person2 = new Person()console.log(person1.name) //kavinconsole.log(person2.na

2021-12-21 10:02:22 47

原创 JS继承的方式有哪些

1、原型链继承既然要实现继承,那么首先我们得有一个父类,代码如下:// 定义一个动物类function Animal (name) { // 属性 this.name = name || 'Animal'; // 实例方法 this.sleep = function(){ console.log(this.name + '正在睡觉!'); }}// 原型方法Animal.prototype.eat = function(food) { console.log

2021-12-21 08:57:13 53

原创 数据的代理

1.数据代理(1)前言:数据代理就是通过vm对象来代理data对象中所有属性的操作。例如我们要访问vue中data的数据应该是vm.data.msg,访问vue中的方法应该是vm.methods.getMsg(),但是实际上我们直接使用vm.msg或者vm.getMsg()来访问data或者methods中的数据。这就是数据代理(2)实现原理:遍历要代理对象的所有key,通过Object.defineProperty为vm对象添加同名的key属性,设置get方法和set方法来动态获取或者修改data对

2021-12-20 21:00:02 365

原创 数据劫持和数据代理

vue.js 则是采用数据劫持结合发布者-订阅者模式的方式,通过Object.defineProperty()来劫持各个属性的setter,getter,在数据变动时发布消息给订阅者,触发相应的监听回调。我们先来看Object.defineProperty()这个方法:var obj = {};Object.defineProperty(obj, 'name', { get: function() { console.log('我被获取了')

2021-12-20 20:44:09 1370

原创 扩展内置对象的方法

Array.prototype.sum=function () {//扩展sum方法 var sum=0 for (var i=0;i<this.length;i++) { sum+=this[i] } return sum } var p=[2,3,4] var arry=new Array(2,34,4) console.log(p.sum());//9 console.log(Array.prototype);//原型有s.

2021-12-20 20:05:40 87

原创 promise的详解

Promise基本概念1.Promise是一个构造函数,所以可以 new 出一个Promise的实例2.在Promise上有两个函数 resolve(成功之后的回调函数)和 reject(失败后的回调函数)3.在Promise构造函数的prototype属性上,有一个 .then() 方法。所以只要是Promise构造函数创建的实例,都可以访问到 .then()方法4.Promise表示一个一步操作,每当我们new一个Promise的实例,这个实例就代表具体的异步操作。5.Promise创建的实

2021-12-20 19:39:27 93

原创 跨域之详解

1.跨域指?跨域是指浏览器的不执行其他网站脚本的,由于浏览器的同源策略造成,是对JavaScript的一种安全限制说白点理解,当你通过浏览器向其他服务器发送请求时,不是服务器不响应,而是服务器返回的结果被浏览器限制了。同源策略的同源同源指的是协议、域名、端口 都要保持一致http://www.123.com:8080/index.html (http协议,www.123.com 域名、8080 端口 ,只要这三个有一项不一样的都是跨域,这里不一一举例子)http://www.123.

2021-12-20 19:01:09 328

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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