首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【Kotlin】函数 ③ ( 匿名函数 | 匿名函数函数类型 | 匿名函数返回 )

文章目录 一、匿名函数 二、匿名函数函数类型 三、匿名函数返回 一、匿名函数 ---- 声明函数时 , 没有 函数名 的函数 是 匿名函数 ; 匿名函数 可以作为 函数参数 , 也可以作为 函数返回值...Boolean) 扩展函数 , 接收一个 (Char) -> Boolean 类型的函数 , 用于 返回匹配给定 匿名函数 的字符数 ; /** * 返回匹配给定[谓词 predicate 匿名函数...---- 匿名函数 可以作为 变量 赋值给 函数类型变量 , 可以作为 函数参数 传递给函数 , 因此 , 匿名函数 与 变量 一样 , 也存在 对应的 函数类型 ; 函数类型 由 参数 和 返回值...= helloFun() println(str) } 执行结果 : Hello World 三、匿名函数返回 ---- 普通函数 返回值 , 都是 显示返回 , 如 : 使用 return...关键字 , 返回返回值 ; 匿名函数返回值 不需要使用 return 关键字 , 匿名函数 可以 返回 函数体最后一行语句 ; 代码示例 : 在匿名函数中 , 第一行是 Int 值 , 第二行是

3K20

【JS 口袋书】第 8 章:以更细的角度来看 JS 中的 this

对于这一点你可能会问:在全局函数中this 的真正规则是什么? 像是缺省绑定,但实际上更像是绑定。有点令人困惑,但只要记住,JS引擎在在无法确定上下文(默认绑定)时总是返回全局this。...显绑定比绑定和默认绑定都更强。使用apply、call和bind,咱们可以通过为函数提供一个动态上下文对象来随意修改它。...只要咱们从构造函数中创建一个新对象,就会有一个针对REST APIFetch请求: "use strict"; function Post(id) { this.data = []; fetch...当然,这也是箭头函数最有趣的用例之一。 总结 JS 中 this 是什么? 这得视情况而定。this 建立在四个规则上:默认绑定、绑定、显绑定和 “new”绑定。...除了绑定和默认绑定之外,还有“显绑定”,我们可以使用三种方法来实现这一点:apply、call和bind。 这些方法对于传递给定函数应在其上运行的显宿主对象很有用。

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

EntityFramework数据持久化复习资料2、与匿名类型同匿名函数使用

EntityFramework数据持久化复习资料2、与匿名类型同匿名函数使用 ---- 目录 EntityFramework数据持久化复习资料2、与匿名类型同匿名函数使用 前言 开发环境...类型 类型测试 匿名类型 匿名函数 显示匿名数据 遍历匿名对象数据 ---- 前言 微软官方提供的ORM工具,ORM让开发人员节省数据库访问的代码时间,将更多的时间放到业务逻辑层代码上。...ORM使类提供自动化CRUD,使 开发人员从数据库API和SQL中解放出来。...】         排序规则:【Chinese_PRC_CI_AS】 ---- 类型 类型是必须要给予默认的【初始值】,否则无法判断其类型。...var 变量 = 初始值; 显示与对比 使用类型:int num = 1; 使用类型:var num_var = 1; 类型测试 这里我们先定义了一个int类型,当输出其变量类型的时候能直接看到输出的是

47030

JavaScript中的this指向哪?

这是因为 JavaScript 语言的作用域链是由词法作用域决定的,而词法作用域是由代码结构来确定的:this中的默认、、显和new的绑定规则箭头函数中的this指向问题二、什么是this?...这些参数将按照顺序传递给函数,并在调用函数时作为函数参数使用功能: 返回函数 function 的拷贝, 这个拷贝的 this 指向 thisArgvar test = { fun: function...();console.log(tete.name); //"funtest"new 操作符实际上的操作步骤:创建一个新的对象 {}将构造函数中的 this 指向这个新创建的对象为这个新对象添加属性、方法等返回这个新对象等价于如下代码...,使用默认绑定规则,this 指向 window当函数作为对象方法被调用,使用绑定规则,this 指向这个对象当函数作为构造方法时,使用 new 绑定规则,this 指向返回的对象apply/call.../bind 要注意参数的传递和返回值不同箭头函数要看该箭头函数在哪个作用域下,this 就指向谁绑定规则的优先级:fn()(全局环境)(默认绑定)< obj.fn()(绑定) < fn.call(obj

12610

为了面试能通过,我要看完这75道面试题(下)

和显转换有什么区别? 56. 什么是NaN? 以及如何检查值是否为 NaN? 57. 如何判断值是否为数组? 58. 如何在不使用%模运算符的情况下检查一个数字是否是偶数? 59....async关键声明函数返回一个Promise。...和显转换有什么区别)? 强制转换是一种将值转换为另一种类型的方法,这个过程是自动完成的,无需我们手动操作。 假设我们下面有一个例子。...不应该使用箭头函数一些情况: 当想要函数被提升时(箭头函数是匿名的) 要在函数使用this/arguments时,由于箭头函数本身不具有this/arguments,因此它们取决于外部上下文 使用命名函数...(箭头函数是匿名的) 使用函数作为构造函数时(箭头函数没有构造函数) 当想在对象字面是以将函数作为属性添加并在其中使用对象时,因为咱们无法访问 this 即对象本身。

2.4K10

你不知道的JavaScrpit(上卷) 随记(二)

,因此我们传入函数时也会被赋值,所以结果和上一个例子一样。...在分析 绑定 时,我们必须在一个对象内部包含一个指向函数的属性,并通过这个属性间接引用函数,从而把this间接()绑定到这个对象上。...使用new来调用函数,会自动执行: 创建一个全新的对象 这个对象会执行[[prototype]]连接 这个新对象会绑定到函数调用的this 如果函数没有返回其他对象,那么new表达式中的函数调用会自动返回这个新对象...是的话this绑定这个上下文对象 默认绑定全局对象(非严格模式) 箭头函数 ES6中介绍了一种无法使用这些规则的特殊函数类型: 箭头函数。...箭头函数不是使用function关键字定义的,而是使用被称为“胖箭头”的操作符=>定义的。

30830

你不知道的js中关于this绑定机制的解析

this解决的问题: this提供了一种更优雅的方法来'传递'一个对象的引用,因此可以将API设计得更加简洁并且易于复用。...绑定: 规则:函数在调用位置,是否有上下文对象,如果有,那么this就会绑定到这个对象上。...显绑定: 就像我们上面看到的,如果单纯使用绑定肯定没有办法得到期望的绑定,幸好我们还可以在某个对象上强制调用函数,从而将this绑定在这个函数上。...这个新对象会绑定到函数调用的this。 如果函数没有返回其他对象,那么new表达式中的函数调用会自动返回这个新对象。 规则:使用构造调用的时候,this会自动绑定在new期间创建的对象上。...显绑定和绑定无法直接比较(会报错),默认绑定是不应用其他规则之后的兜底绑定所以优先级最低,最后的结果是: 显绑定 > 绑定 > 默认绑定 new绑定 > 绑定 > 默认绑定 箭头函数的this

40810

ES5 to ESNext —  自 2015 以来 JavaScript 新增的所有新特性

doSomething(param) 由于这种简短的语法,使得我们可以更便捷的使用比较简短的函数 返回 箭头函数支持返回:可以正常的 return 一个返回值但是可以不使用 return 关键字...返回只在函数体内只包含一条语句的情况下生效: const myFunction = () => 'test' myFunction() //'test' 需要注意的一种情况,当返回一个对象时,记得将大括号括在括号中以避免产生歧义...理解 this 这个概念对于箭头函数使用很重要,因为与常规函数相比,箭头函数的表现非常不同。...如果上述方法使用是是箭头函数,由于箭头中的 this 的作用域继承自执行上下文,箭头函数自身不绑定 this,因此 this 的值将在调用堆栈中查找,因此在此代码 car.fullName() 中不会返回常规函数那样的结果...Fetch API是一个基于promise的机制,调用fetch()相当于使用new Promise()来声明我们自己的promise。

1.2K10

记录一些以前没见过的JS语法

参考:https://www.cnblogs.com/bear-blogs/p/10423759.html JS Fetch Fetch API 提供了一个 JavaScript接口,用于访问和操纵HTTP...它还提供了一个全局 fetch()方法,该方法提供了一种简单,合理的方式来跨网络异步获取资源。 这种功能以前是使用 XMLHttpRequest实现的。...Fetch提供了一个更好的替代方法,可以很容易地被其他技术使用,例如 Service Workers。Fetch还提供了单个逻辑位置来定义其他HTTP相关概念,例如CORS和HTTP的扩展。...JS 箭头函数 箭头函数表达式的语法比函数表达式更简洁,并且没有自己的this,arguments,super或new.target。...箭头函数表达式更适用于那些本来需要匿名函数的地方,并且它不能用作构造函数

50340

看完这几道 JavaScript 面试题,让你与考官对答如流(下)

和显转换有什么区别? 56. 什么是NaN? 以及如何检查值是否为 NaN? 57. 如何判断值是否为数组? 58. 如何在不使用%模运算符的情况下检查一个数字是否是偶数? 59....async关键声明函数返回一个Promise。...和显转换有什么区别)? 强制转换是一种将值转换为另一种类型的方法,这个过程是自动完成的,无需我们手动操作。 假设我们下面有一个例子。...不应该使用箭头函数一些情况: 当想要函数被提升时(箭头函数是匿名的) 要在函数使用this/arguments时,由于箭头函数本身不具有this/arguments,因此它们取决于外部上下文 使用命名函数...(箭头函数是匿名的) 使用函数作为构造函数时(箭头函数没有构造函数) 当想在对象字面是以将函数作为属性添加并在其中使用对象时,因为咱们无法访问 this 即对象本身。

2K10

JavaScript中的this(你不知道的JavaScript)

this.name); } speak.call(me); //Hello, I'm fenfei this提供了一种更优雅的方式来“传递”对象引用,因此可以将API设计得更加简洁并易于复用。...注意:丢失 常见的this绑定问题就是“绑定”的函数会丢失绑定对象,也就是“默认绑定”,从而把this绑定到全局对象(严格模式下为undefined)。...,因此传入函数会被赋值(LHS) 3....)如果函数没有返回其他对象,那么new表达式中的函数调用会自动返回这个新对象。...ES6箭头函数 箭头函数使用this的四种标准规则,而是根据外层(函数或者全局)作用域来决定this。 箭头函数的绑定无法被修改。常用于回调函数中,如事件处理器或定时器。

43351

ES6箭头函数

箭头函数具有更短的语法形式,绑定了this,并且没有自己的this、arguments、super 或 new.target。基本语法:箭头函数使用箭头(=>)来分隔参数和函数体。...在上面的示例中,我们定义了一个简单的箭头函数hello,它不带参数,并在函数体中打印了一条消息。返回箭头函数还具有返回的特性。...示例:// 返回let double = (number) => number * 2;console.log(double(5)); // 输出 10在上面的示例中,箭头函数double接受一个参数...由于函数体只有一条语句,我们可以省略大括号并直接返回结果。参数和括号:如果箭头函数只有一个参数,可以省略参数周围的括号。但是,当没有参数或有多个参数时,必须使用括号。...在greet方法内部,我们使用箭头函数来定义一个延迟执行的函数,该函数打印问候消息并使用this.name访问person对象的name属性。

20240

深入学习JavaScript ES8函数编程:特性与实践指南

函数编程是一种编程范式,它将计算视为数学函数的组合。在函数编程中,函数被视为一等公民,它们可以作为参数传递给其他函数,也可以作为返回返回。...箭头函数(Arrow Functions) 箭头函数是ES6引入的特性,但它们在函数编程中非常有用。箭头函数具有更简洁的语法,并且自动绑定了this,使其更适合函数编程的上下文。...以下是一个使用async/await的示例: async function fetchData() { try { const response = await fetch('https:/...函数组合 函数组合是函数编程的核心概念之一。ES8的特性使得函数组合更加容易实现。您可以使用箭头函数和compose函数来创建函数组合。...下面是一个使用async/await的示例,从API中获取数据: async function fetchData() { try { const response = await fetch

22340

JavaScript基础:call,apply,bind详解,三者有何区别和联系

this 绑定到class page         this.MessageCallBack('发给注册页面的信息')     } } 回调函数this丢失的解决方案: bind绑定回调函数的this...箭头函数绑定this指向 箭头函数的this指向定义的时候外层第一个普通函数的this,在这里指的是class类:PageA 这块内容,可以看下我之前写的博客:详解箭头函数和普通函数的区别以及箭头函数的注意事项...通过设置context的属性,将函数的this指向绑定到context上 通过绑定执行函数并传递参数。...this指向绑定到context上     let result = context.testFn(...arr); // 通过绑定执行函数并传递参数     delete context.testFn...思路 拷贝源函数: 通过变量储存源函数 使用Object.create复制源函数的prototype给fToBind 返回拷贝的函数 调用拷贝的函数: new调用判断:通过instanceof判断函数是否通过

1K10

深入理解this绑定

foo(); // 2 })(); 2.2 绑定 当函数引用有上下文对象时(或者说被某个对象“包含”/“拥有”),绑定规则会把函数中的this绑定到这个上下文对象。...2.3.3 API调用的“上下文” 同样可以解决绑定丢失的问题。...new来调用函数,或者说发生构造函数调用时,会自动执行下面的操作: 1.创建一个新对象 2.为该对象执行[[prototype]]链接 3.将该对象绑定到构造函数的this 4.如果函数没有显返回对象...但是会降低函数的灵活性,使用硬绑定之后就无法使用绑定或者显绑定来修改this。...需要注意的是,箭头函数的绑定无法被修改 —— 因为箭头函数没有自己的 this,所以是不能对它使用 call,apply,bind 的,new也不行。

45110
领券