Unity中,如何用js建立新的函数?

JavaScript013

Unity中,如何用js建立新的函数?,第1张

function buy( name1 , n1 , n2 , name2 , str){

if( name1 >=(10*Mathf.Pow(n1, name2 ))){

name1 = name1 - (n2*Mathf.Pow(1.1,name2))

name2 = name2 + 1

}else{ alert(str) }

}

文章来自 https://www.cnblogs.com/rogerwu/p/10784236.html

async 函数返回一个 Promise 实例对象,可以使用 then 方法添加回调函数。

当函数执行时,一旦遇到 await 就会先返回,等到异步操作完成,再接着执行函数体内后面的语句

(1)、async 函数内部 return语句返回的值,会成为then方法回调函数的参数

(2)、async 函数内部抛出错误,会导致返回的 Promise对象变成reject状态,抛出的错误会被catch方法回调函数接收到

(3)、只有 async 函数内部的异步操作执行完,才会执行 then方法指定的回调函数

实际应用

在日常开发中,我们经常会用到一些函数,如:Arrary.map/filter/forEach 等。今天我们来一起研究下这些函数的源码,探讨探讨有没有更好的方案/方法,以便更好的理解和应用到项目中。

call/apply 执行函数,并改变函数的作用域。

bind 返回一个改变作用域后的函数,需要时执行新函数。

apply 与 call 不同的是,参数是以数组形式整体传入, call 是单个传入

bind 返回一个新函数

关于 instanceOf ,这里 https://www.jianshu.com/p/87ecdec2d246 有详解

new 主要做了以下几件事:

调用数组的每个元素,并将元素传递给回调函数,空数组不执行回调函数。

方法按照原始数组元素顺序依次处理元素,并返回一个新数组。

返回数组中的元素为原始数组元素调用函数处理后的值,不会改变原始数组。

数组中的每个元素都调用一次函数执行:返回通过测试(函数内判断)的数组的第一个元素的值。

当数组中的元素在测试条件时返回 true 时, find() 返回符合条件的元素,之后的值不会再调用执行函数。

如果没有符合条件的元素返回 undefined 。

数组中的每个元素都调用一次函数执行:返回传入一个测试条件(函数)符合条件的数组第一个元素位置。

当数组中的元素在测试条件时返回 true 时, findIndex() 返回符合条件的元素的索引位置,之后的值不会再调用执行函数。

如果没有符合条件的元素返回 -1 。

方法按照原始数组元素顺序依次筛选符合条件的元素,并返回一个新数组。

返回数组中的元素是通过检查指定数组中符合条件的所有元素,不会改变原始数组。

会依次执行数组的每个元素:用于检测数组中的元素是否满足指定条件(函数提供)。

如果有一个元素满足条件,则表达式返回 true ,剩余的元素不会再执行检测。

如果没有满足条件的元素,则返回 false 。

指定函数检测数组中的所有元素:用于检测数组所有元素是否都符合指定条件(通过函数提供)。

如果数组中检测到有一个元素不满足,则整个表达式返回 false ,且剩余的元素不会再进行检测。

如果所有元素都满足条件,则返回 true 。

接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。

接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。

判断一个数组是否包含一个指定的值,如果是返回 true ,否则 false 。

将从头到尾地检索数组,看它是否含有对应的元素。开始检索的位置在数组 start 处或数组的开头(没有指定 start 参数时)。如果找到一个 item ,则返回 item 的第一次出现的位置。

默认开始位置的索引为 0 。

如果在数组中没找到指定元素则返回 -1 。

数组扁平化,把多维数组转换为一维数组