赞
踩
目录
2.说说什么是面向对象编程及面向过程编程,它们的异同和优缺点?
7.封装一个函数,参数是定时器的时间,then 执行回调函数 执行回调函数?
15. webpack 的一些 plugin ,怎么使用 webpack 对项目进行优化 ?
- function sleep(time) {
- return new Promise((resolve) => setTimeout(resolve, time));
- }
- obj = { a: 1, b: 2 }
- obj2 = { a: 1, b: 2 }
- obj3 = { a: 1, b: '2' }
- JSON.stringify(obj) == JSON.stringify(obj2);//true
- JSON.stringify(obj) == JSON.stringify(obj3);//false
- module.exports = {
- module: {
- rules: [
- { test: /\.css$/, use: 'css-loader' },
- { test: /\.ts$/, use: 'ts-loader' }
- ]
- }
- };
- // 实例
- const instance = new Object()
- // 实例
- const prototype = Object.prototype
- // 这条线其实是是基于原型进行获取的,可以理解成一条基于原型的映射线
- // 例如:
- // const o = new Object()
- // o.constructor === Object --> true
- // o.__proto__ = null;
- // o.constructor === Object --> false
- 实例.constructor === 构造函数
原我们知道,我们可以在执行上下文中访问到父级甚至全局的变量,这便是作用域链的功
劳。作用域链可以理解为一组对象列表,包含 父级和自身的变量对象,因此我们便能通过作用
域链访问到父级里声明的变量或者函数。
由两部分组成:
浅拷贝: 以赋值的形式拷贝引用对象,仍指向同一个地址,修改时原对象也会受到影响 以赋值的形式拷贝引用对象,仍指向同一个地址,修改时原对象也会受到影响
深拷贝 深拷贝: 完全拷贝一个新对象,修改时原对象不再受到任何影响 完全拷贝一个新对象,修改时原对象不再受到任何影响
- // __proto__: 代表原型对象链
- instance.[__proto__...] === instance.constructor.prototype
- // return true
原我判断 Target 的类型,单单用 typeof 并无法完全满足,这其实并不是 bug ,本质原因是
JS 的万物皆对象的理论。因此要真正完美判断时,我们需要区分对待
原模块化开发在现代开发中已是必不可少的一部分,它大大提高了项目的可维护、可拓展和
可协作性。通常,我们 在浏览器中使用 ES6 的模块化支持,在 Node 中使用 commonjs 的模块化
支持
防抖与节流函数是一种最常用的 高频触发优化方式,能对性能有较大的帮助。
- function debounce(fn, wait, immediate) {
- let timer = null
- return function () {
- let args = arguments
- let context = this
- if (immediate && !timer) {
- fn.apply(context, args)
- }
- if (timer) clearTimeout(timer)
- timer = setTimeout(() => {
- fn.apply(context, args)
- }, wait)
- }
- }
- function throttle(fn, wait, immediate) {
- let timer = null
- return function () {
- let args = arguments
- let context = this
- if (callNow) {
- fn.apply(context, args)
- callNow = false
- }
- if (!timer) {
- timer = setTimeout(() => {
- fn.apply(context, args)
- }, wait)
- }
- }
- }
- var promise = new Promise(function (resolve, reject) {
- if (...) { // succeed
- resolve(result);
- } else { // fails
- reject(Error(errMessage))
- }
- })
promise.then(onFulfilled, onRejected)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。