首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    js中this指向问题

    函数中this指向对于一些开发者来说一直是一个比较头疼的问题,this在js中比较灵活,不同的情况指向不同,小shy总结出了函数调用的this指向的一些情况,供大家参考。 1....默认绑定 function fn() { console.log(this); } fn(); 结果:this指向window对象 函数在被调用的时候,this会默认指向全局对象window...隐式绑定 const obj = { name: "小明", fn: function() { console.log(this); console.log...(this.name); } }; obj.fn(); 结果: this指向obj对象,this.name 即 obj.name 调用对象的方法时会出现隐式绑定,fn是在obj对象里的,obj...(如果不太明白call()、apply() 和 bind(),可以看小shy之前的博客《js call()、apply()、bind()用法和区别》) 4.

    3.1K60

    Js中数组空位问题

    Js中数组空位问题 JavaScript中数组空位指的是数组中的empty,其表示的是在该位置没有任何值,而且empty是区别于undefined的,同样empty也不属于Js的任何数据类型,并且在JavaScript...当然对于稀疏数组在各种浏览器中会存在优化的操作,例如在V8引擎中就存在快数组与慢数组的转化,此外在V8中对于empty的描述是一个空对象的引用。...在Js中使用Array构造器创建出的存在空位的问题,默认并不会以undefined填充,而是以empty作为值,需要注意的是,空位并不是undefined,undefined表示的是没有定义,但是本身undefined...undefined, undefined]); // true console.log(0 in [,,,]); // false // in 是检查索引 此处表示 0 位置是没有值的 方法处理 ECMA262V5中对空位的处理就已经开始不一致了...6844903917738786829 https://segmentfault.com/a/1190000004680060 https://xmoyking.github.io/2016/12/17/js-framework2

    3.7K42

    JS 实现双向数据绑定

    近几年前端技术栈真是发展的太迅速了,从以前的针对dom操作的框架如jquery,ext.js等框架逐步过渡到当前的mvvm模式,让前端开发者将注意力从dom操作逐渐解脱出来,专注于逻辑的实现,个人认为开发效率至少提升了...什么是数据的双向绑定? ?...双向数据绑定 上面说的是在vue框架中数据双向绑定的应用,个人认为这个特性很赞,是大幅提升开发效率的关键,那如果脱离mvvm的框架,我也想实现这种数据的双向绑定,可不可以实现了,该如何实现了?...用原生js模拟数据双向绑定 为了实现这个功能我们需要用到js的一个方法Object.defineProperty 1. 属性介绍 ? 属性介绍 2. 方法介绍 ?...例子 效果如下,当姓名发生变化时后面的输入框中的值也同步发生变化: ? 效果图 小伙伴们,你们看完上述代码,现在心中的疑惑应该会少很多哈,,嘎嘎。

    3.1K10

    理解JS的深浅拷贝以及深度拷贝解决双向绑定的问题

    当我们利用v-bind:来绑定属性向子组件传递对象的时候,有时候我们需要子组件改变的时候不改变父组件的值,一般可以利用JSON.stringify(JSON.parse(jsonstr))将传递来的对象赋值到子组件自己的...data,这样做的原理是对传过来的值重新赋予一个空间,从而解决双向绑定。...,但是es6有一个深度赋值的方法也可以解决这个问题, let obj= Object.assign({}, obj)也可以解决。...arrDeepCopy(source[item]) : source[item]; return sourceCopy; } 这种方法简单粗暴,但是利用JS本身的函数我们可以更加便捷地实现这个操作...方法二:slice() 可以参考 W3School 对 slice() 方法的描述:slice() 方法可从已有的数组中返回选定的元素。

    89130
    领券