首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
ES6
订阅
阿柒1900
更多收藏集
微信扫码分享
微信
新浪微博
QQ
24篇文章 · 0订阅
前端常见算法的 JS 实现
前端常见算法的 JS 实现
JavaScript基本数据类型和引用数据类型
Array ... 基本数据类型存在栈里,引用数据类型在栈里存地址,而在堆里存内容,如果定义数组(对象)m与数组n()相等,表示地址相同,所以m与n的指针指向同一个内容,改变内容,则m与n都会改变。 栈内存:是一种特殊的线性表,它具有后进先出的特性,存放基本类型。 堆内存:存放…
ES6 模板字符串/标签模板
模板字符串中的换行标签模板
熟悉ES6,这些内容起码得懂个七八十吧
记得我第一次接触ES6,还是在大学写JavaEE的时候。当时由于需要做个后端管理系统,所以临时找了一些培训视频资源学了一下前端基础和vue框架。通过那个视频资料,我学会了一些简单的ES6知识,比如用let和const声明变量,解构赋值、模板字符串、可变参数等等。 之后由于一些故…
细说Array.prototype.slice.call
call和apply、bind这已经是老生常谈的问题了,是可以改变this指向的,这里就简单点打个比方吧。 看到这儿,可能有些人会说那能不能写arguments.slice(1),当然不能,这样的话会报错,因为arguments是类数组对象,并没有slice这个方法。 上面这个…
Promise
由于异步任务不能直接拿到结果,于是我们传一个回调(函数)给异步任务,当异步任务完成时调用回调,同时调用的时候把异步任务的结果作为回调的参数。但是该方法容易出现回调地狱,代码变得使人看不懂,因此使用Promise。
ES6中对象新增的方法
ES5中的==和===都可以用来判断两个值是否相等,但是都有缺陷,==会自动进行隐式类型转换,===的NaN不等于自身及+0不等于-0。 Object.is()引入的目的就是为了保证在所有环境中,只要两个值是一样的,它们就应该相等,其行为与===基本一致,用来比较两个值是否严格…
Object.create()、new Object()和{}的区别
平时代码中必定会使用对象,通常是用最直接的字面量方法创建var obj = {},最近在整理JS继承方式时遇到Object.create()也可以创建对象,另外,也可以用new Object()关键字创建。 这样一比较,其实字面量创建和new关键字创建并没有区别,创建的新对象的…
详解Object.create(null)
propertiesObject:可选。要添加到新对象的可枚举(新添加的属性是其自身的属性,而不是其原型链上的属性)的属性。 Object.create()的定义其实很简单,弄清楚上面这个例子就可以了。 从上图可以看到,新创建的对象继承了Object自身的方法,如hasOwnP…
浅析Object和Array上属性和方法
forEach不支持返回值,map支持返回值;都是不会修改原数组的;map会返回一个新的数组。 合并原理:把目标对象的值合并到源对象上,如果出现冲突,保留目标对象的值。 Object.is() 判断两个值是否相同。如果下列任何一项成立,则两个值相同: 这种相等性判断逻辑和传统的…