js
文章平均质量分 60
小王编程w
这个作者很懒,什么都没留下…
展开
-
webpack打包优化
项目开始时webpack的配置vue-cli3以后,我们修改webpack配置,需要自己在项目根路径下创建vue.config.js文件配置proxy跨域使用vue-cli开发项目,在本地开发环境中,如果遇到跨域问题,跨域通过配置proxy的方法,来解决跨域的问题module.exports = { devServer: { open: false, // 自动启动浏览器 host: '0.0.0.0', // localhost port: 6060,...转载 2021-06-04 15:27:58 · 331 阅读 · 0 评论 -
js事件委托
事件委托事件冒泡:JS中当出发某些具有冒泡性质的事件是,首先在触发元素寻找是否有相应的注册事件,如果没有再继续向上级父元素寻找是否有相应的注册事件作出相应,这就是事件冒泡。事件委托:利用事件冒泡的特性,将本应该注册在子元素上的处理事件注册在父元素上,这样点击子元素时发现其本身没有相应事件就到父元素上寻找作出相应。这样做的优势有:1.减少DOM操作,提高性能。2.随时可以添加子元素,添加的子元素会自动有相应的处理事件。为什么要用事件委托:一般来说,dom需要有事件处理程序,我们都会直接给它设事转载 2021-05-30 23:47:28 · 86 阅读 · 0 评论 -
事件委托
事件委托事件冒泡:js中当出发某些具有冒泡性质的事件是,首先在触发元素寻找是否有相应的注册事件,如果没有在继续向上一级父元素是否有相应的注册事件作出相应的,这就是事件冒泡.事件委托利用事件冒泡的特性,将本应该注册在子元素上的处理事件注册在父元素上,这样点击子元素时发现其本身没有相应事件就到父元素上寻找作出相应的,这样做的优点:1.减少DOM操作,提高性能 2.随时可以添加子元素,添加的子元素会有自动有相应的事件.事件委托的原理事件委托是利用事件的冒泡原理来实现的,何为事件冒泡呢?就是事转载 2021-05-30 23:43:24 · 62 阅读 · 0 评论 -
闭包
理解js中的闭包1.概念闭包函数:声明在一个函数中的函数,叫做闭包闭包:内部函数总是可以访问其所在的外部函数中声明的参数和变量,即使在其外部函数被返回2.特点让外部访问函数内部变量成为可能;局部变量会常驻扎在内存中;可以避免使用全局变量,防止全局变量污染;会造成内存泄露3.闭包的创建闭包就是可以创建一个独立的环境,每个闭包里面的环境都是独立的,互不干扰.闭包会发生内存泄露,每次外部函数执行的时候,外部函数的引用地址不同,都会创建一个新的地址,但凡是当前活动对象中有被内原创 2021-05-30 21:25:58 · 73 阅读 · 1 评论 -
Javascript作用域,作用域链,变量提升
Javascript作用域,作用域链,变量提升作用域(定义)变量作用域:就是一个变量可以使用的范围作用域(种类)js中首先有一个最外层的作用域,全局作用域js中可以通过函数来创建一个独立作用域被称为函数作用域,函数可以嵌套,所以作用域也可以嵌套es6中新增了块级作用域,(大括号,比如if{},for{),while{},)如图所示:es6作用域,适用于const和let自由变量自由变量的概念:当前作用域没有定义的变量作用域链自由变量的.转载 2021-05-30 01:43:43 · 98 阅读 · 1 评论 -
new 的实现原理 和this指向问题
1.new的四个步骤 创建一个空对象->这个新对象继承函数的原型->更改this的指向,为对象设置属性->返回新对象let a = new Foo('张三',20)(1) 我们先创建一个空对象var obj = {}(2) 这个新对象继承原型构造函数的原型obj.__proto__ = Foo.prototype(3) Foo 函数执行,this指向obj对象let result = Foo.call(obj,'张三',20)(4) 返回ob..原创 2021-05-27 21:24:22 · 431 阅读 · 0 评论 -
call/apply/bind 三者的用法和区别
apply,call和bind的区别this与call/apply/bind的关系普通函数中调用,this指向window 对象方法中调用,this指向当前对象 call apply bind中调用, this指向被传入的对象 class中的方法中调用, this指向实例对象 箭头函数,this就是父级上下文中的thisapply、call、bind都是js给函数内置的一些API,调用他们可以为函数指定this的执行,同时也可以传参。相同点:1.都是用来改变函数的this对象的指向 2.第原创 2021-05-26 21:03:24 · 164 阅读 · 0 评论 -
JavaScript 的原型和原型链
1: prototype每个函数都有一个prototype属性,被称为显示原型在javascript中,每个函数都有一个prototype属性,这个属性指向函数的原型对象(ps:函数其实也是一个对象,所以与上述一,中的例子不冲突)var obj = new Object();所谓的prototype其实就是对象与对象的原型关联的属性:如图例如: function Animal(weight) { this.weight = weight }如图表示对象与原型...原创 2021-05-26 19:14:48 · 125 阅读 · 1 评论 -
数组常用的方法(es4,es5,es6)
1.什么是数组存储一组关联数据2.数组定义方式 1.数组直接变量(常用)var arr = [] ;var arr2 = [10,20,30]; 2.也可以通过new来创建var arr3 = new Array();var arr4 = new Array(10,20,30)console.log(arr4) // [ 10, 20, 30 ]3.数组访问数组名[下标(索引)] 索引0 1 2 3....数组的长度可以通过数组名.length访问...原创 2021-05-25 20:57:13 · 108 阅读 · 0 评论 -
Js中arguments
简介:在Javascript中,arguments是对象的一个特殊属性,arguments对象就像是数组,但是它却不是数组,arguments对象包含了函数调用的参数数组,通过这种方式可以找到最后一个参数的值1.arguments是收到的实参副本 在词法分析中,首先按形参成AO的属性值,值为undefined 当实参传来时,在修改AO的相应属性2. 并把收到参数收集起来,放到一个arguments对象里面 t (a,b,c){} ...原创 2021-05-25 19:37:22 · 230 阅读 · 0 评论