为了账号安全,请及时绑定邮箱和手机立即绑定

直面JavaScript中的30个疑难杂症

公明2020 Web前端工程师
难度中级
时长 5小时 3分
学习人数
综合评分9.60
17人评价 查看评价
9.6 内容实用
9.8 简洁易懂
9.4 逻辑清晰
indexOf 的实现是 O(n) 级别的,并没有高效
apply 和call都没有返回值。所以result 永远是undefined。
这里改变this指向,是不是可以用apply比较好,这样还可以通过arguments传入参数
完结撒花,感谢老师
这应该是实现的一个代理模式
我感觉这个例子就是实例化了一个对象,传入一个参数,没有用到继承啊?
定义一个局部变量也可以喔

function bind(){
for(var i =0; i < buttons.length; i++){
let num = i;
buttons[i].func = function(){
console.log(num);
}
}
}
new 函数是 在堆内存区进行初始化的. 同时返回了初始化空间的首地址, 也做了__proto__的连接, 这个连接就是'面向对象'的继承链的实现原理, 也就是把新建对象的__proto__指向构造函数的prototype属性 从而实现继承 如果自身有属性覆盖了这个链接(原型链)上的同名属性/方法 就实现了多态 至于面向对象的另外一个重要特征'封装' 主要是通过javascript中作用域的方式实现的 在构造方法中 挂载在this下的属性/方法 可以被实例使用 因为返回对象的初始全貌就是在构造函数中通过this定义的 但比如用var定义的局部变量 就无法被实例话的对象使用了 这是所谓的'封装'
JSON深拷贝不能拷贝函数
var会变量提升;let定义不会提升
支持一下!
有没有人把最后那个代码算法写出来吗

最赞回答 / 慕移动8214662
length长度为2,当2进入循环以后 这个循环体已经循环了3次了,下一轮循环 var i = 3 此时判断不满足条件才跳出的循环
13位是毫秒(Java默认生成13位);10位是秒(PHP默认生成的是10位)
课程须知
1、有一定的前端JavaScript基础的用户 2、想对JavaScript有更深层次的了解,或者是对常见JavaScript面试题难以理解的用户 3、技术储备:JavaScript、HTML、CSS
老师告诉你能学到什么?
JavaScript中比较重要的知识点,例如数据类型检测;面试中常见的闭包、作用域和作用域链、执行上下文等等;还有JavaScript中的原型、原型链,面向对象问题,以及实战开发的运用。

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消