首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
mu木木mu
掘友等级
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
4
文章 4
沸点 0
赞
4
返回
|
搜索文章
最新
热门
小程序页面传参报错:Syntax Error: Unexpected end of JSON input 问题解决
报错:SyntaxError:UnexpectedendofJSONinput 原因:SyntaxError:UnexpectedendofJSONinput直译过来是:语法错误:JSON输入的意外结
call( )与apply( )
在 JavaScript 中,每个函数都有 call( ) 和 apply( ) 两个方法,你可以用它们来触发函数,并指定相关的调用参数。 此外,这两个方法还有另外一个功能,它可以让一个对象去“借用”另一个对象的方法,并为已所用。这也是一种非常简单而实用的代码重用。 显然,so…
迭代器
在这里,我们最后再看一个关于闭包应用的示例----迭代器。 通常情况下,我们都知道如何用循环来遍历一个简单的数组,但是有时候我们需要面对更复杂的数据结构,它们通常会有着与数组截然不同的序列规则。这时候就需要将一些“谁是下一个”的复杂逻辑封装成易于使用的 next( ) 函数,然…
getter与setter
接下来,我们再来看两个关于闭包的应用示例。首先是创建 getter 和 setter 。假设现在有一个变量,它所表示的是某类特定值,或某特定区间内的值。我们不想将该变量暴露给外部。因为那样的话,其他部门的代码就有直接修改它的可能。 所以,我们需要将它保护在相关函数的内部,然后提…
循环中的闭包
这篇,我们来看看新手在闭包问题上会犯那些典型的错误,毕竟由闭包所导致的 bug 往往很难被发现,因为它们总是表面上看起来一切正常。 让我们来看一个三次的循环操作,它在每次迭代中都会创建一个返回当前循环序号的新函数。该新函数会被添加到一个数组中,并最终返回。具体代码如下: 显然,…
闭包
在 JavaScript 中,变量的定义并不是以代码块作为作用域的,而是以函数作为作用域的。 也就是说,如果一个变量是在某个函数中定义的,那么,它在函数以外的地方是不可见的。 而如果,该变量是定义在 if 或 for 这样的代码块中的,那么,它在代码块以外的地方是可见的。 所谓…
能重写自己的函数
由于一个函数可以返回另一个函数,因此我们可以用新的函数来覆盖旧的。例如,在上一篇文章中我们提到的那个例子: 当前这句依然只会执行 alert('A!') ,但如果我们再次调用 a( ) ,它就会执行 alert('B!') 了。 这对于要执行某些一次性初始化工作的函数来说,会非…
返回函数的函数
我们都知道,函数始终都会有一个返回值,即便不是显式返回,它也会隐式返回一个 undefined 。 既然函数能返回一个唯一值,那么这个值就也有可能是另一个函数。 在这个例子中,函数 a( ) 会在执行它的工作(弹出 A!)之后返回另一个函数。而所返回的函数又会去执行另外一些事情…
内部(私有)函数
既然函数与其他类型的值本质上是一样的,因此,没有什么理由可以阻止我们在一个函数内部去定义另一个函数。 当我们调用全局函数 outer( ) 时,本地函数 inner( ) 也会在其内部被调用。由于 inner( ) 是本地函数,它在 outer( ) 之外的地方是不可见的,所以…
即时函数
上一篇我们讨论了匿名函数在回调方面的应用,接下来,我们来看匿名函数的另一个应用--即时函数。 它的语法其实很简单,我们只需要将匿名函数的定义放在一对括号中,然后括号外面再紧跟一对括号即可。其中,第二对括号起到的是“立即调用”的作用,同时它也是我们向匿名函数传递参数的地方。 使用…
下一页
个人成就
文章被点赞
1
文章被阅读
5,390
掘力值
155
关注了
13
关注者
2
收藏集
11
关注标签
12
加入于
2020-01-17