女王控的博客

JS

31 篇文章

JS构造函数、原型、原型链

构造函数 constructor 返回创建实例对象时构造函数的引用(即 对象.constructor === 构造函数.prototype.constructor),此属性的值是对函数本身的引用,而不是一个包含函数名称的字符串 构造函数本身就是一个函数,与普通函数没有任何区别,不过为了规范一般将其首字母大写。构造函数和普通函数的区别在于,使用 new 生成实例的函数就是构造函数,直接调用的就是普通函数。 那是不是意味着普通函数创建的实例没有 constructor 属性呢?不一定。 Symbol… »

你不知道的 JS 之异步与性能

异步:现在与将来 分块的程序 程序是由多个块组成,只有一个是现在执行,其余的则会在将来执行,最常见的块单位是函数 程序中将来执行的部分并不一定在现在运行的部分执行完后就立即执行,也就是现在无法完成的任务将会异步完成 从现在到将来的等待最简单的方法是使用一个通常称为回调函数的函数 可以同步发送 ajax 请求,但是建议在任何情况都不应该使用这种方式,因为它会被锁定器 UI(按钮、菜单、滚动条等),并阻塞所有用户交互 考虑以下代码: 以上代码可以拆分现在和将来部分: 异步控制台 宿主环境添加到 js… »

你不知道的JS之this

关于 this 为什么要用 this 如果不使用 this: 误解 指向自身 this 并不是指向函数本身,下例中的 count 通过 LHS 查找指向全局变量。 利用词法作用域的一种“解决”办法,逃避的解决方式 foo 标识符代替 this 引用函数对象,同样回避了 this 问题 强制 this 指向 foo 函数对象,完美的解决方式 它的作用域 this 不一定指向函数的作用域,this 在任何情况下都不指向函数的词法作用域,具体表现为 a 不能通过 this.a/foo.a… »

你不知道的JS作用域与闭包

作用域是什么 LHS 与 RHS LHS 和 RHS 的含义是 并不一定意味着就是 。赋值操作还有其他几种形式,因此在概念上最好将其理解为 以及 。 作用域 LHS 和 RHS 引用都会在当前作用域进行查找,如果还是没有找到就继续向上,以此类推。 对 b 进行的 RHS 引用无法在函数 foo 内部完成,但可以在上一级作用域(在这个例子中就是全局作用域)中完成。 异常 区分 LHS 和 RHS… »

前端面试题JS部分

请解释事件委托(event delegation) 事件委托是将事件监听器添加到父元素,而不是每个子元素单独设置事件监听器。当触发子元素时,事件会冒泡到父元素,监听器就会触发。这种技术的好处是: 内存占用减少,因为只需要一个父元素的事件处理程序,而不必为每个后代都添加事件处理程序。 无需从已删除的元素中解绑处理程序,也无需将处理程序绑定到新元素上。 参考 https://davidwalsh.name/event-delegate https://stackoverflow.com… »

0%