首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

微信小游戏1

databus.js // 管控游戏状态 └── main.js // 游戏入口主函数...,并请使用同一个机型手机进行截图以保持图片大小一致 4、以下所有内容文字描述及所附游戏截图须保持逐一匹配,请注意避免出现截图少于文字描述或无法对应情况 { "lockfileVersion":...= 'images/bg.jpg' const BG_WIDTH = 512 const BG_HEIGHT = 512 /** * 游戏背景类 * 提供update和render函数实现无限滚动背景功能...() { this.top += 2 if ( this.top >= screenHeight ) this.top = 0 } /** * 背景图重绘函数...* 绘制两张图片,两张图片大小和屏幕一致 * 第一张漏出高度为top部分,其余隐藏在屏幕上面 * 第二张补全除了top高度之外部分,其余隐藏在屏幕下面 */ render

5.3K10
您找到你想要的搜索结果了吗?
是的
没有找到

前端设计模式系列-单例模式

大部分讲设计模式文章都是使用 Java、C++ 这样以类为基础静态类型语言,作为前端开发者,js 这门基于原型动态语言,函数成为了一等公民,在实现一些设计模式上稍显不同,甚至简单到不像使用了设计模式...,就是保证类实例只有一个即可。...js 单例模式 首先单例模式产生对象一般都是工具对象等,比如 jQuery 。它不需要我们通过构造函数去传参数,所以就不需要去 new 一个构造函数去生成对象。...可以看下 __webpack_require__ 实现,和单例模式逻辑是一样。...它,然后通过 new EventEmitter() 来生成对象,那发布订阅就乱套了,因为它们不是一个对象了。

30520

【webpack 进阶】Webpack 打包后代码是怎样

,有点占篇幅,可以点击这里查看[1] 其实就是一个 IIFE 莫慌,我们一点点拆分开看,其实总体文件就是一个 IIFE——立即执行函数。...是一个对象,对象 key 就是每个 js 模块相对路径,value 就是一个函数(我们下面称之为模块函数)。...——__webpack_require__ 这里去 require 其他模块函数主要是 __webpack_require__ 。..., __webpack_require__ 作为参数传递,并把模块函数调用对象指向 module.exports,保证模块中 this 指向永远指向当前模块。...主要是通过 __webpack_require__来模拟 import 一个模块,并在最后返回模块 export 变量 webpack 是如何支持 ES Module 动态加载 import()

48210

【JavaScript】解决 JavaScript 语言报错:Uncaught TypeError: XYZ is not a function

常见场景 变量或对象属性类型错误 函数名拼写错误或覆盖 作用域问题导致函数未定义 调用初始化函数 通过理解这些常见场景,我们可以更好地避免和处理这些错误。...二、报错信息解析 “Uncaught TypeError: XYZ is not a function” 错误信息可以拆解为以下几个部分: Uncaught TypeError: 这表示一个未被捕获类型错误...错误信息表明该标识符不是一个函数类型。 三、常见原因分析 1....变量或对象属性类型错误 let foo = 42; foo(); // Uncaught TypeError: foo is not a function 在这个例子中,foo 是一个数值,而不是一个函数...调用初始化函数 let func; func(); // Uncaught TypeError: func is not a function 此例中,func 变量初始化为函数类型,因此调用时会抛出错误

11610

10 种最常见 Javascript 错误

基本上,如果第二个错误只是第一个错误重复,我们会把两个错误分到同一组。这会给用户一个很好概括,而不是像在日志文件中看到那样直接一大堆让人感觉到十分压迫 dump。...(unknown): Script error 当捕获 JavaScript 错误(通过window.onerror处理程序引发错误,而不是捕获在try-catch中)被浏览器跨域策略限制时,会产生这类脚本错误...例如,如果您将您 JavaScript 代码托管在 CDN 上,则任何未被捕获错误将被报告为“脚本错误” 而不是包含有用堆栈信息。...因此,在窗口对象上下文中定义了一个传递给setTimeout()匿名函数,该函数没有clearBoard()方法。...您通常会在数组中找到定义长度,但是如果数组初始化或者变量名称在另一个上下文中隐藏,则可能会遇到此错误。让我们用下面的例子来理解这个错误。

6.8K80

1000个项目中前10名JavaScript错误介绍

基本上,如果第二个错误只是第一个错误重复,我们会把两个错误分到同一组。这会给用户一个很好概括,而不是像在日志文件中看到那样直接一大堆让人感觉到十分压迫 dump。...(unknown): Script error 当捕获 JavaScript 错误(通过window.onerror处理程序引发错误,而不是捕获在try-catch中)被浏览器跨域策略限制时...例如,如果您将您 JavaScript 代码托管在 CDN 上,则任何未被捕获错误将被报告为“脚本错误” 而不是包含有用堆栈信息。...因此,在窗口对象上下文中定义了一个传递给setTimeout()匿名函数,该函数没有clearBoard()方法。...您通常会在数组中找到定义长度,但是如果数组初始化或者变量名称在另一个上下文中隐藏,则可能会遇到此错误。让我们用下面的例子来理解这个错误。

6.2K10

【Nodejs】994- 一文搞懂koa2核心原理

koa中间件机制与实现 koa中间件机制是采用koa-compose实现,compose函数接收middleware数组作为参数,middleware中每个对象都是async函数,返回一个context..._name || mw.name return converted } 复制代码 首先针对传入参数mw作校验,如果不是函数则抛异常,如果不是generator函数则直接返回,如果是generator...异步函数统一错误处理机制 在koa框架中,有两种错误处理机制,分别为: 中间件捕获 框架捕获 undefined 中间件捕获是针对中间件做了错误处理响应,如fnMiddleware(ctx).then...框架捕获是在context.js中作了相应处理this.app.emit('error', err, this),这里this.app是对application引用,当context.js调用onerror...因为async函数返回一个Promise对象,如果async函数内部抛出了异常,则会导致Promise对象变为reject状态,异常会被catch回调函数(onerror)捕获到。

56010

1000多个项目中十大JavaScript错误以及如何避免

(unknown): Script Error 当捕获 JavaScript 错误违背跨边界原则时,就会发生脚本错误。...例如,如果将 JavaScript 代码托管在 CDN 上,则任何未被捕获错误(通过 window.onerror 处理程序发出错误,而不是 try-catch 中捕获错误)将仅报告为“脚本错误...TypeError: ‘undefined’ Is Not a Function 当调用未定义函数时,Chrome 中就会发生这样错误。 ?...Uncaught RangeError: Maximum Call Stack 这是在很多种情况,Chrome 中发生错误,一种情况是当你调用一个不会终止递归函数时。 ?...通常在数组中能够找到定义长度,但是如果数组初始化或变量名在另一个上下文中隐藏,则可能会出现这种错误。让我们用下面的例子来解释这种错误。

8.3K40

JavaScrip最容易犯十大错误及其避免方法()

your name" /> 4 (unknown): Script error 当捕获...例如,如果您在CDN上托管JavaScript代码,任何捕获错误(冒泡到window.onerror处理程序错误,而不是在try-catch中捕获)将被报告为“脚本错误”而不是包含有用错误 信息...这相当于Chrome中错误“TypeError:’undefined’不是函数”。 是的,不同浏览器可以针对相同逻辑错误具有不同错误消息。...一种是当你调用一个不终止递归函数时。 您可以在Chrome开发者控制台中对此进行测试。 8....TypeError: Cannot read property ‘length’ 您通常会在数组中找到定义长度,但如果初始化数组或者在另一个上下文中隐藏变量名,则可能会遇到此错误。

13710

1000多个项目中十大JavaScript错误以及如何避免

Type your name" /> (unknown): Script Error 当捕获...例如,如果将 JavaScript 代码托管在 CDN 上,则任何未被捕获错误(通过 window.onerror 处理程序发出错误,而不是 try-catch 中捕获错误)将仅报告为“脚本错误...Rollbar.isAwesome(); TypeError: ‘undefined’ Is Not a Function 当调用未定义函数时,Chrome 中就会发生这样错误。...}; Uncaught RangeError: Maximum Call Stack 这是在很多种情况,Chrome 中发生错误,一种情况是当你调用一个不会终止递归函数时。...[image.png] 通常在数组中能够找到定义长度,但是如果数组初始化或变量名在另一个上下文中隐藏,则可能会出现这种错误。让我们用下面的例子来解释这种错误。

6.2K30

webpack 拍了拍你,给了你一份图解指南(模块化部分)

那么我们是不是应该思考一下,webpack 出现究竟给我们带来了什么?我们为啥需要用它?...而上面所有的一些代码降级(babel转化)、编译SCSS 、代码规范检测都是得益于它插件系统和loader机制,并不是完完全全属于它。...因此 webpack 带来一个核心作用就是隔离,将每个模块通过闭包形式包裹成一个个新模块,将其放于局部作用域,所有的函数声明都不会直接暴露在全局。 ?...为了尽可能降低编写难度和理解成本,我没有使用 AST 解析,(当然 AST 也不是什么很难东西,以后文章中我会讲解 AST是什么以及 AST 解析器实现过程。...image-20200627202427794 由于模块遍历并不是只有单纯一层结构,一般为树形结构,因此在这里我采用了深度遍历。

46431

软件测试测试开发全日制培训|Pytest异常处理

前言在断言一些代码块或者函数时会引发意料之中异常或者其他失败异常导致程序无法运行时,使用raises捕获匹配到异常可以让代码继续运行。...:pytest.raisespytest.raises和with语句一起使用,成功断言到期望异常则测试通过,断言到期望异常则测试失败,如下代码中, with语句范围断言到期望异常TypeError -...在测试中,try...except可以用来捕获并处理预期异常。...: # 异常处理代码 assert True, "除数不能为零"使用pytest.raises检查异常pytest.raises是pytest提供一个工具,用于检查是否引发了预期异常...它可以方便地验证函数是否抛出了特定类型异常。

11410

聊一聊面试中经常被问到Tree Shaking

tree shaking 就是通常用于描述移除 JavaScript 上下文中引用代码(dead-code)。...] } }; package.json 配置 用过 redux 童鞋应该对纯函数不陌生,自然也就应该了解函数式编程,函数式编程中就有副作用一说。...照顾一下不知道同学,那什么是副作用呢? 一个函数会、或者可能会对函数外部变量产生影响行为。 具有副作用文件不应该做 tree-shaking,因为这将破坏整个应用程序。...加了 sideEffect 配置后,构建出来一些 IIFE 函数也会加上/PURE/注释,便于后续 treeshaking。 组件不支持DCE? ?...如果你是一个第三方库维护者,请人性化按业界规范提供ES版本,同时配置 sideEffects: false.

2K10
领券