展开

关键词

箭头函数

箭头函数(★★★) ES6中新增的定义函数的方式。 this关键字,箭头函数中的this,指向的是函数定义位置的上下文this const obj = { name: '张三'} function fn () { console.log( this);//this 指向 是obj对象 return () => { console.log(this);//this 指向 的是箭头函数定义的位置,那么这个箭头函数定义在 fn里面,而这个fn指向是的obj对象,所以这个this也指向是obj对象 } } const resFn = fn.call(obj); resFn(); ​ 小结 箭头函数中不绑定 this,箭头函数中的this指向是它所定义的位置,可以简单理解成,定义箭头函数中的作用域的this指向谁,它就指向谁 箭头函数的优点在于解决了this执行环境所造成的一些问题。

24020

箭头函数

一、ES6的箭头函数 1. 带参数的箭头函数 let fun = (x) => x console.log(fun(2)) //2 这种写法等同于ES5的 function fun(x){ return x } console.log { name:"king", fun:function (){ alert(1) } } obj.fun(); // 1 二、ES6中函数的注意点 1.箭头函数不可以用 this对象就是定义时所在的对象,而不是使用时所在对象; var obj = { name:"king", fun(){ setTimeout(() => { // 使用箭头函数

4900
  • 广告
    关闭

    【玩转 Cloud Studio】有奖调研征文,千元豪礼等你拿!

    想听听你玩转的独门秘籍,更有机械键盘、鹅厂公仔、CODING 定制公仔等你来拿!

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    揭秘箭头函数

    ://javascript.plainenglish.io/demystifying-javascript-arrow-functions-7b2a0908a2b3 通过掘金翻译计划活动进行翻译 箭头函数是函数表达式的替代方法 现在,让我们试着从语法、执行、作用域和提升以及代码示例方面来理解箭头函数。 1. 引入了箭头 => 符号。 根据箭头函数的语法,如果函数只接受一个参数,可以忽略括号()。如果函数只包含一条语句,则可以忽略块{},最后其实也可以忽略return ,如果函数只包含一个语句。 2. 箭头函数没有自己的 this 变量; this 在箭头函数中使用时会得到词法解析。 在创建阶段之后不久,执行阶段开始。

    8120

    Js箭头函数

    Js箭头函数 箭头函数是ES6新增的语法,提供了一种更加简洁的函数书写方式,类似于匿名函数,并且简化了函数定义。 完整写法 完整写法类似于匿名函数,省略了function关键字。 this,在箭头函数的函数体中使用this时,会取得其上下文context环境中的this。 箭头函数调用时并不会生成自身作用域下的this,它只会从自己的作用域链的上一层继承this。 由于箭头函数没有自己的this指针,使用apply、call、bind仅能传递参数而不能动态改变箭头函数的this指向。 var s = () => {}; console.log(s.prototype); // undefined 不能用作函数生成器 箭头函数不能用作Generator,yield关键字通常不能在箭头函数中使用

    40920

    js箭头函数

    箭头函数 箭头函数表达式没有自己的this,arguments,super或new.target。 引入箭头函数作用 引入箭头函数的作用:更简短的函数并且不绑定this 更简短的函数 let sum = (x,y,z) => { return x+y+z; } 不绑定this 在箭头函数出现之前,每个新定义的函数都有他自己的 通过call、apply调用箭头函数 由于箭头函数没有自己的this指针,通过call()、apply()方法调用时,第一个参数会被忽略。 箭头函数不能使用new操作符 箭头函数不能用作构造器,和 new一起用会抛出错误。 因此,箭头函数不能用作生成器。

    9210

    js 箭头函数详解

    认识箭头函数 es6 新增了使用胖箭头(=>)语法定义函数表达式的能力,很大程度上,箭头函数实例化的函数对象与正式的函数表达式创建的函数对象行为是相同的。 任何可以使用函数表达式的地方,都可以使用箭头函数: // 普通函数 let sum = function(a, b) { return a + b; } // 箭头函数 let sum1 = (a, b) => { return a + b; } 箭头函数简洁的语法对开发者来说是十分友好的,从上面的例子可以得知箭头函数的简单用法: (参数) => { 函数体 } 2. (1, 2); // Uncaught ReferenceError: arguments is not defined 虽然箭头函数中没有 arguments 对象,但可以在包装函数中把它提供给箭头函数 如果fn1也是个箭头函数呢?

    6110

    箭头函数和this指向

    箭头函数基本使用 // 箭头函数: 也是一种定义函数的方式 // 1.定义函数的方式: function const aaa = function () { } // 2.对象字面量中定义函数 const obj = { bbb() { } } // 3.ES6中的箭头函数 // const ccc = (参数列表) => { // // } const ccc = () => { } 带返回值的箭头函数 // 1.参数问题: // 1.1.放入两个参数 const sum = (num1, num2) => { return console.log('Hello Demo'); // } const demo = () => console.log('Hello Demo') console.log(demo()); 什么时候使用箭头 setTimeout(() => { console.log(this); //打印的this是 obj对象 }) } } obj.aaa() 箭头函数中的

    9010

    箭头函数中的this值

    还有的一个办法就是将ZnHobbies函数下的map改写成箭头函数: ZnHobbies: function () { this.hobbies.map((hobby)= 为什么箭头函数可以达到这样的效果呢?是因为箭头函数没有它自己的'this'值。它的this值是继承于它的父作用域的。

    17820

    理解值引用

    我们可以在自己的类中实现移动语义,避免深拷贝,充分利用值引用和std::move的语言特性。 移动语义目的就是用浅拷贝代替深拷贝,值引用跟深拷贝放到同一场景才是有意义的。 实现移动语义 在没有值引用之前,一个简单的数组类通常实现如下,有构造函数、拷贝构造函数、赋值运算符重载、析构函数等。 当然函数参数可以改成非const:Array(Array& temp_array, bool move){…},这样也有问题,由于左值引用不能接值,Array a = Array(Array(), true 可以发现左值引用真是用的很不爽,值引用的出现解决了这个问题,在STL的很多容器中,都实现了以右值引用为参数的移动构造函数和移动赋值重载函数,或者其他函数,最常见的如std::vector的push_back 参数为左值引用意味着拷贝,为值引用意味着移动。

    30520

    图解SQL联结:联结

    ​今天我们用下面的表来学习联结。其中, 学生表(student):用来记录学生的基本信息 成绩表(score):用来记录学生选修课程的成绩 1.什么是联结? 联结,会将右侧表中的数据全部取出来。下面图片中用文氏图画出了联结,是红圈中的部分。 2.联结是如何运行的? 下图是联结的运行过程: 第1步,取出符合条件的行 两个表通过学号进行联结,会将右侧的表作为主表,主表中的数据全部取出来,也就是将成绩表里的数据全部取出来。 3.联结sql语句怎么写? 4.联结变种 在联结的基础上,我们再看一个问题,图片中红色部分的地方如何用sql表示呢? 这是在联结的基础上去掉了,两个表中共同的地方,也就是去掉了两个圆圈的公共部分。

    29740

    Salesforce Javascript(二) 箭头函数

    this.integerArray.sort((a,b) => a - b); 箭头表达式基本概念有了以后,说一下箭头表达式的语法。 1. 这里的 reduce方法里面需要添加的就是一个函数,我们在这里就使用箭头函数去搞定这个功能,使整体代码看上去更简洁。两个参数使用()来包含,方法体使用大括号{}来包含逻辑。 ,可以省略 `return` 关键字和方法体的花括号 elements.map(element => element.length); // [8, 6, 7, 9] 除了这种方式的箭头函数,箭头函数也可以有一个简写体或者常见的块体 * x; 所以来一个进行练习,下面是使用箭头函数声明的函数,常规函数应该写成什么呢? 总结:本篇针对js基础薄弱的小伙伴简单地介绍了箭头函数的使用,在我们日常工作中这种写法司空见惯,不过还是要掌握好基础比较好。篇中有错误地方欢迎指出,有不懂欢迎留言。

    26831

    2018-07-19 如何重构“箭头型”代码如何重构“箭头型”代码

    所谓箭头型代码,基本上来说就是下面这个图片所示的情况。 ? image 那么,这样“箭头型”的代码有什么问题呢?看上去也挺好看的,有对称美。 但是…… 关于箭头型代码的问题有如下几个: 1)我的显示器不够宽,箭头型代码缩进太狠了,需要我来回拉水平滚动条,这让我在读代码的时候,相当的不舒服。 ,箭头型代码是非常难以维护和Debug的。 微博上的案例 与 Guard Clauses OK,我们先来看一下微博上的那个示例,代码量如果再大一点,嵌套再多一点,你很容易会在条件中迷失掉(下面这个示例只是那个“大箭头”下的一个小箭头) 这种代码的重构方式叫 5) 重构“箭头型”代码其实是在帮你重新梳理所有的代码和逻辑,这个过程非常值得为之付出。重新整思路去想尽一切办法简化代码的过程本身就可以让人成长。 (全文完)

    47160

    左值与

    左值与值 问题阐述 赋值表达式中可以分为左值(lvaule)和值(rvaule),那么什么是左值和值?数组名做为左右值时又具有怎样的意义? lvalue估计来源于left value。 由此可以知道,值就是指出现在赋值符右侧的表达式。每一个赋值语句都有一个左值和一个值。 (1)左值必须是变量。左值必须是内存中一个可存储的变量,而不能是一个常量或 者表达式。 所以这两个赋值语句的左值都是不正确的 (2)值可以是常量或者表达式,例如 #define PRICE 10 int i,j; int *p: i=5; j=i+5 *p=PRICE; (3)赋值语句必须有一个左值和一个值 一条赋值语句必须有一个左值和一个值,否则将无法通过编译。 数组名作为左右值的意义: 当数组名作为左值时,是错误的。 数组名代表数组的首地址,所以数组名作为值时将数组的首地址赋给赋值符左侧的变量。 综上,数组名不可以作为左值,而数组中的元素是可以作为左值的。

    6910

    值引用和构造

    std::move在运行期不做任何事情(不生成任何机器码),在编译期只做一件事情,就是把入参cast成对应类型的rvalue,从而影响其他函数调用的重载决议。你...

    17340

    C++值引用

    值引用是C++11标准引入的一个技术。      与左值引用类似,值引用的是值,包括常量、临时值等不可作为左值的值,使用&&表示值引用,如:type &&t = value1+value2;,在标准库的头文件<uility>有std::move( )函数返回对应的值类型。 如果是const 左值引用类型,则同样可以接收值。      ,要防止值销毁而使获取的资源无效。

    6220

    ES6——箭头函数

    ES6之后,允许使用箭头=>来定义函数。首先我们来总结一下箭头函数存在的意义,之后再来细细的看它的使用方法。 // 4 如果箭头函数的代码块部分多于一条语句,就要使用大括号将它们括起来,如果有返回值,就要使用return语句返回。 () => {函数声明} 箭头函数的一个用处就是简化回调函数。 在箭头函数出现之前,每个新定义的函数都有它自己的this值。而箭头函数体内的this值,就是定义时所在的对象,而不是使用时所在的对象。 但是箭头函数导致this总是指向函数定义生效时所在的对象,所以输出的是50。 通过call或者apply也可以调用箭头函数。

    18920

    Latex各种箭头符号总结

    各位看官老爷,如果觉得对您有用麻烦赏个子,创作不易,0.1元就行了。下面是微信乞讨码:

    99820

    普通函数与箭头函数

    一、区别 箭头函数是匿名函数,不能作为构造函数,不能使用new let FunConstructor = () => { console.log('lll'); } let fc = new FunConstructor(); 箭头函数不绑定arguments,取而代之用rest参数...解决 function A(a){ console.log(arguments); } A(1,2,3,4,5,8 is not defined let C = (...c) => { console.log(c); } C(3,82,32,11323); // [3, 82, 32, 11323] 箭头函数不绑定 function() { return ()=>{ console.log(this.a); //10 } } } obj.b(); obj.c()(); 箭头函数通过 箭头函数比较特殊没有调用者,不存在this.箭头函数()的概念,但是它内部可以有this,而内部的this由上下文决定 例子1: var o = { user:"追梦子", fn:function

    23640

    bootstrap table表格去掉排序箭头

    在bootstrap table表格插件里面,会有这样的排序箭头,可以将表格的内容按照一定的顺序排列,无论是需要或者不需要,都可以通过一个属性来控制sortable 。 当sortable : true的时候,则会出现排序箭头,当注释这行代码的时候,则表格不会出现排序箭头。 ?

    1.1K20

    相关产品

    • 多媒体创作引擎

      多媒体创作引擎

      腾讯云多媒体创作引擎(CME)提供云端实现协同审片、媒资管理、在线剪辑、云端导播、多平台同步直播、AI处理等能力,为内容制作者提供一站式的内容创作平台。

    相关资讯

    热门标签

    活动推荐

    扫码关注腾讯云开发者

    领取腾讯云代金券