javascript
文章平均质量分 53
_大猪
这个作者很懒,什么都没留下…
展开
-
Promise的Catch报错总结
先定义一个PromiseTest.html文件:}, 1000)}).then((res)=> { // 成功console.log("成功1"+res);//当我们需要在传参给后面的then时,可以使用return来返回值},(err) => { // 失败console.log("失败1"+err)throw new Error('抛出一个错1') //throw和return一样会返回后面的值,所以当我们需要在传参给后面的catch时,可以使用throw来返回值}...原创 2022-08-15 17:44:13 · 1593 阅读 · 0 评论 -
es6模块与 commonJS规范的区别
文章转载自:https://www.jianshu.com/p/16af8b54384acommomJS模块:1、获得的是缓存值,是对模块的拷贝2、可以对commomJS模块重新赋值3、可以对对象内部的值进行改变es6模块:1、获得的是时时的值,是对模块的引用2、对es6模块重新赋值会报错3、可以对对象内部的值进行改变es6 { export : '可以输出多个,输出方式为 {}' , export default : ' 只能输出一个 ,可以与expo转载 2021-10-20 19:23:58 · 163 阅读 · 0 评论 -
CocosCreator(2.0.10) 全局捕捉异常
文章转载自:https://blog.csdn.net/u011040361/article/details/96969706为了方便捕捉游戏在终端运行时发生的异常,可以在全局任意地方添加如下代码,报错时上报exception给服务器,方便记录if(cc.sys.isNative) { window.__errorHandler = function (errorMessage, file, line, message) { let exception = {}; exception.e转载 2020-11-07 16:02:12 · 1286 阅读 · 0 评论 -
CocosCreator JS追踪堆栈信息
在开发过程中,可能有这样的需求:即使在没有报错的情况,也需要查看该函数的堆栈调用信息。对于这样的需求,我们可以使用JS原生的console.trace来实现。具体代码:export let TraceArr = [];console.trace = function () { var fun = arguments.callee; let num = 0; //追踪的堆栈深度,可自行设置 do { fun = fun.arguments.calle原创 2020-08-24 17:29:36 · 899 阅读 · 0 评论 -
如何查看网页内存大小
我们在做Web端开发的时候,会有需要查看项目的内存占用情况,那么我们的查看内存的操作是这样的:比如,在Google浏览器测试项目的时候,是先在Memory页签下点击“Take heap snapshot”来查看当前网页的占用内存状况。如下图:像图中的Snapshot 1,我们可以看到,这个网页所占的内存2.6M,那么问题来了,这个2.6M并不这个网页所占的所有的内存总和,只是这个JS运...原创 2020-03-22 22:57:18 · 6747 阅读 · 1 评论 -
function 与 => 的区别
文章转载自:https://www.cnblogs.com/hammerc/p/7390424.html在JS中,箭头函数并不是简单的function(){}匿名函数的简写语法糖,实际上,箭头函数和匿名函数有个明显的区别:箭头函数内部的this是词法作用域,在编写函数时就已经确定了。而匿名函数的this指向运行时实际调用该方法的对象,无法在编写函数时确定。我们看一下下面的例子:fun...转载 2018-08-23 10:16:49 · 417 阅读 · 0 评论 -
判断CocosCreator节点是否有某一类脚本组件
在我们的游戏需求里,可能会需要做一类操作,判断某个节点是否有某一类javascript脚本,然后进行执行相应的功能函数。一、用javascript自带的一种判断方法这种方法在任何javascript代码里都可以使用:instanceof运算符如果是普通的javascript代码,则示例如下:function Cat(name){ Animal.call(this); ...原创 2018-08-13 19:32:19 · 3702 阅读 · 0 评论 -
javascript判断对象有没有某个属性
// 定义一个动物类function Animal (name) { // 属性 this.name = name || 'Animal'; // 实例方法 this.sleep = function(){ console.log(this.name + '正在睡觉!'); }}Animal.prototype.test = function() { ...原创 2018-08-09 20:00:35 · 743 阅读 · 0 评论 -
网页拉起其他app
<!DOCTYPE html"><html><body><script type="text/javascript">(function () { var isiOS = navigator.userAgent.match('iPad') || navigator.userAgent.match('iPhone') || naviga...原创 2018-06-08 10:57:21 · 3624 阅读 · 0 评论 -
Javascript之BOM与DOM讲解
文章转载自:https://blog.csdn.net/qq877507054/article/details/51395830一.Javascript组成JavaScript的实现包括以下3个部分:ECMAScript(核心)描述了JS的语法和基本对象。文档对象模型 (DOM)处理网页内容的方法和接口浏览器对象模型(BOM)与浏览器交互的方法和接口javascript 有三部分构成,ECMASc...转载 2018-05-10 18:42:12 · 208 阅读 · 0 评论 -
javascript数组多字段排序
对于需要多字段排序的数组,我们可以借用javascript的原生数组api来完成,这个api就是sort方法。arr.sort(sortby)这个方法的sortby参数可选,这个参数是一个回调方法。参数:该方法有两个参数,这两个参数是当前比较的两个元素。返回值:大于0时将两个值互换,否则不换。所以,我们就可以这样来写:function sortNumber(a,b)...原创 2018-08-20 18:04:20 · 8896 阅读 · 5 评论 -
javascript的call方法简单总结
关于call这个方法大家应该都会用到过,我也一样,但是一直没有深入了解,今天学习的时候总结了call的两个主要用处:1、继承2、回调的时候设置回调方法的调用对象继承就是调用父类的构造方法,来进行初始化:function Cat(name){ Animal.call(this); this.name = name || 'Tom';}(function(){ /...原创 2018-09-20 18:12:04 · 251 阅读 · 0 评论 -
CocosCreator使用自定义shader
文章转载自:https://blog.csdn.net/xufeng0991/article/details/72973664为了减少游戏资源,游戏中免不了会使用一些shader,下面是一个将图片变灰shader,以此来看看如何在cocos creator中使用和管理shader。shader文件管理在assets中新建一个文件夹resources,然后在resources中新建一个S...转载 2018-10-09 15:36:39 · 3886 阅读 · 2 评论 -
javscript setTimeout有参回调方法
文章转载自:https://www.cnblogs.com/longjxchina/archive/2011/06/03/2072076.htmlsetTimeout传递的第一个参数为: 1.无参的方法:如function test(){},则可直接通过setTimeout(test,1000)调用,还可以setTimeout("test()",1000)调用。2.如果方法接收参数:...转载 2018-10-19 12:57:10 · 2102 阅读 · 0 评论 -
CocosCreator事件定义
以下是根据CocosCreator接口做的—全局事情管理类。/** 全局事件管理类,主要是在各个脚本之间发送消息 以下的test可以为公司名*/window.test = window.test || {};(function() { var EventCtrl = {}; //发送没有数据的事件 EventCtrl.sendNormalEv...原创 2018-10-16 20:41:40 · 1215 阅读 · 0 评论 -
javascript全局异常监听
不管我们用javascript做什么开发,总会出现项目运行异常,甚至crash,这个时候,我们希望不只是javascript会打印一行日志,而是可以出现一个弹窗或者其他的一些让我们开发者更能直接获取到的信息。对于这个需求,javascript已经帮我们实现了,我们只需要重写window.onerror方法window.onerror = function() { //do s...原创 2019-04-14 19:53:15 · 2437 阅读 · 0 评论 -
CocosCreator中WebSocket使用WSS协议
平常我们使用WebSocket协议是这样的: var ws = new WebSocket("ws://echo.websocket.org"); ws.onopen = function (event) { console.log("Send Text WS was opened."); }; ws.onmessage = function (event) { c...原创 2019-07-01 16:08:38 · 7033 阅读 · 0 评论 -
Javascript HttpRequest的超时timeout事件
文章转载自:https://developer.mozilla.org/zh-CN/docs/Web/API/XMLHttpRequest/timeoutXMLHttpRequest.timeout是一个无符号长整型数,代表着一个请求在被自动终止前所消耗的毫秒数。默认值为 0,意味着没有超时。超时并不应该用在一个document environment中的同步 XMLHttpReques...转载 2019-08-01 15:53:44 · 7141 阅读 · 0 评论 -
promise
文章转载自:https://www.jianshu.com/p/1b63a13c2701promise是什么?1、主要用于异步计算2、可以将异步操作队列化,按照期望的顺序执行,返回符合预期的结果3、可以在对象之间传递和操作promise,帮助我们处理队列为什么会有promise?为了避免界面冻结(任务) 同步:假设你去了一家饭店,找个位置,叫来服务员,这个时候服务员对你说...转载 2019-09-23 11:06:09 · 578 阅读 · 0 评论 -
lua的a and b or c等于js的a?b:c,但不等于js的a && b || c
先来说lua,lua中并没有a?b:c这样的语法,因为lua没有这样的运算符,但是lua可以用 a and b or c来实现js或c语言的a?b:c的代码功能。也就是说lua的a and b or c和js的a?b:c的功能是一样的。为什么呢,这个要从两个方面来说:一个方面:lua中false的判断条件来说,lua中除了false和nil之外,其他所以数据,包括0、空字符串等都是tr原创 2018-03-29 15:21:47 · 5126 阅读 · 0 评论 -
localStorage sessionStorage cookie的区别
文章转载自:http://blog.csdn.net/cwzhsi/article/details/49557879一、基本概念Cookiecookie比较小,大小限制在4kb左右,是网景公司的前雇员 LouMontulli 在1993年3月的发明。它的主要用途有保存登录信息,比如你登录某个网站市场可以看到“记住密码”,这通常就是通过在 Cookie 中存入一段辨别用户转载 2018-02-25 15:49:02 · 584 阅读 · 0 评论 -
JavaScript垃圾回收机制
文章转载自:https://www.cnblogs.com/zhwl/p/4664604.html一、垃圾回收的必要性 下面这段话引自《JavaScript权威指南(第四版)》 由于字符串、对象和数组没有固定大小,所有当他们的大小已知时,才能对他们进行动态的存储分配。JavaScript程序每次创建字符串、数组或对象时,解释器都必须分配内存来存储那个实体。只要像这样转载 2018-03-20 16:35:11 · 190 阅读 · 1 评论 -
javaScript 复制对象
对于javascript,相信大家都知道复制对象的方法,现在先贴出javascript的深拷贝function deepCopy(p, c) { var c = c || {}; for (var i in p) { if(! p.hasOwnProperty(i)){ continue; }原创 2017-07-20 09:59:07 · 3507 阅读 · 0 评论 -
asm.js 和 Emscripten 入门教程
文章转载自:http://www.ruanyifeng.com/blog/2017/09/asmjs_emscripten.htmlWeb 技术突飞猛进,但是有一个领域一直无法突破 ---- 游戏。游戏的性能要求非常高,一些大型游戏连 PC 跑起来都很吃力,更不要提在浏览器的沙盒模型里跑了!但是,尽管很困难,许多开发者始终没放弃,希望让浏览器运行 3D 游戏。2转载 2017-10-25 17:26:34 · 635 阅读 · 0 评论 -
JS实现继承的几种方式
文章转载自:http://www.cnblogs.com/humin/p/4556820.html 前言JS作为面向对象的弱类型语言,继承也是其非常强大的特性之一。那么如何在JS中实现继承呢?让我们拭目以待。JS继承的实现方式既然要实现继承,那么首先我们得有一个父类,代码如下:// 定义一个动物类function Animal (name) { // 属性 th...转载 2017-09-30 15:20:42 · 744 阅读 · 0 评论 -
浏览器缓存机制
文章转载自:http://mangguo.org/browser-cache-mechanism-detailed/浏览器缓存浏览器缓存的知识是前端工程师必须要掌握的,因为这些知识直接影响到你的页面的用户体验,影响到你的页面的加载策略。接下来将要详细的讲述浏览器缓存的概 念和原理,新人要仔细阅读,甚至要多次反刍,缓存的知识除了和浏览器有关,还涉及到HTTP协议,所以这也是比较难于掌握的转载 2017-09-28 09:52:52 · 326 阅读 · 0 评论 -
Javascript--位运算符
文章转载自:http://www.cnblogs.com/oneword/archive/2009/12/23/1631039.html1.NOT位运算符NOT由~表示.NOT运算符的实质是对数字求负,然后减1.位运算符NOT是三步的处理过程.a.把运算符转换成32位数字b.把二进制形式转换成它的二进制反码c.把二进制反码转换成浮点数转载 2017-09-19 17:25:29 · 304 阅读 · 0 评论 -
web原生接口获取手机或笔记本电量
Battery Status API,更多时候被称之为 Battery API, 提供了有关系统充电级别的信息并提供了通过电池等级或者充电状态的改变提醒用户的事件。 这个可以在设备电量低的时候调整应用的资源使用状态,或者在电池用尽前保存应用中的修改以防数据丢失。Battery Status API 向 window.navigator 扩展了一个 navigator.getBattery转载 2017-09-26 18:11:33 · 2018 阅读 · 0 评论 -
CocosCreator中如何定义枚举Enum
一、环境mac:10.12.2CocosCreator:1.5.1二、JS原生的enumJS没有enum类型的数据,如果想定义枚举,则:可以定义一个对象这样来定义枚举,LoginType = { UserName : 0, Quick : 1,};但是,这样的对象,可以在脚本里用,但是,如果希望通过CocosCreator里的编辑器来设置值的原创 2017-09-06 16:37:33 · 15948 阅读 · 6 评论 -
JavaScript保存cookie
//JS操作cookies方法!/** * 写cookies; * 在默认的情况下,cookie 会在浏览器关闭的时候自动清除,但是我们可以通过expires来设置 cookie 的有效期。语法如下: */function setCookie(name,value,expiredays){ //var expiredays = 30; var exp = new Dat原创 2017-07-24 18:09:03 · 1227 阅读 · 0 评论 -
javasript性能提升之WebAssembly和asm.js
文章转载自知乎的罗志宇的回答作者:罗志宇链接:https://www.zhihu.com/question/31415286/answer/58022648来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。下面要讲的,其实是一个悲伤的故事。Javascript ,也叫Ecma script, 是这家伙用了 10 天时间赶出来的。。转载 2017-10-25 11:47:09 · 3382 阅读 · 2 评论 -
javascript setInterval和setTimeout的this问题
The "this" problem如果你通过setTimeout函数(或其他函数,或其他情况),调用的时候this的值可能并不能像你期待的那样。这种情况已经在Javascript reference里面详细的介绍过了。 说明 setTimeout()函数里执行的代码是与调用setTimeout函数的执行上下文分开的。正常的方法是为被调用的函数设置this的关键翻译 2017-12-05 16:22:03 · 415 阅读 · 0 评论 -
javascript在iframe间传递数据
最近发现javascript方面的知识了解得太少,但是一直在做javascript方向的项目,也亏得项目不是很赶,才没有在进度方面落下来。废话讲完。如果有一个页面,主页面(叫html1好了)里有一个iframe(html2),但是有时候html1需要获取html2的数据或者html2获取html1的数据。我们都知道,每个html都有一个window对象,所以我们可以通过window对象原创 2017-06-15 10:03:50 · 1845 阅读 · 0 评论 -
关于手机上不能用window.close的问题
今天有个同事问我,window.close()在pc web上可以关闭网页,但是在手机上用则没有效果。当时,我没能给他答案。后来网上查了一下,才知道应该是由于权限问题,才window.close()才没有作用。答案是应该用:window.history.back();试想,pc web上是有多个标签的,可以关闭一些,但是手机上如果window.close()起作用了,那就关闭整个网页了原创 2017-06-07 16:31:35 · 11463 阅读 · 7 评论 -
javascript setInterval不能正确延时
javascript是一个单线程语言,只有一个主线程在程序中运行,如果有io请求,是浏览器的线程池(注意:浏览器是多线程的)去处理,等结果放回(把回调放回到主线程的执行队列中,并不能马上执行),回到主线程中去处理,所以javascript可以给人一种多线程的感觉。所以基于上述条件,像setInterval(func, 0)和setTimeout(func, 0)这样的语句,也不没有马上执行他,原创 2018-01-03 16:14:09 · 2878 阅读 · 0 评论 -
javascript读写二进制
javascript里有两个内置对象,一个是ArrayBuffer;一个是DataView。读写二进制数据都需要使用这两个对象。ArrayBuffer: ArrayBuffer 对象用来表示通用的、固定长度的原始二进制数据缓冲区。ArrayBuffer 不能直接操作,而是要通过类型数组对象或 DataView 对象来操作,它们会将缓冲区中的数据表示为特定的格式,并通过这些原创 2018-01-04 16:56:09 · 8219 阅读 · 0 评论 -
javascript 杂谈之哪种写法你更喜欢?
文章转载自:http://www.cnblogs.com/baochuan/archive/2012/04/30/2473771.html思维导图介绍老是在写js,你平时是怎么写你的js呢?更喜欢哪种方式呢?今天就把常见的跟大家唠叨唠叨。——年纪大了,就这一爱好(平时也喜欢说胡话),别闲我烦!直接初始化法优点:1、userData...转载 2017-12-27 11:58:41 · 328 阅读 · 0 评论 -
什么是跨域?怎么解决跨域问题?
文章转载自:http://blog.csdn.net/lambert310/article/details/51683775什么是跨域?跨域,指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器施加的安全限制。所谓同源是指,域名,协议,端口均相同,不明白没关系,举个栗子:http://www.123.com/index.html 调转载 2018-01-03 12:01:39 · 613 阅读 · 0 评论 -
CocosCreator h5游戏移动端全屏显示
文章里的方法主要是针对creator游戏引擎的构建后项目,但是也可以由此文章中的方法,再作针对其他h5游戏引擎的修改,由此借鉴出其他h5游戏引擎的全屏显示。先来看构建后的文件结构:其中,红色框里的文件是需要自定义的,css、dist和img文件夹是creator不会构建出来的,需要自己加上去。index.html是creator构建出来的,我们需要对它进行修改。再看css、d...原创 2018-01-11 15:15:48 · 18030 阅读 · 19 评论 -
网页播放rtmp流
在h5页面里播放rtmp流很简单,只需要一个viode.js库的支持。当前video.js库已经出到了6.x版本。但是6.x版本播放不了rtmp流。所以示例中只用了5.5.3版本的库。还有,想要这个示例可以运行,要用firefox运行;如果还是不行,就搭一个apache服务器来运行。 视频直播 直播间 <v原创 2017-12-15 15:20:38 · 48237 阅读 · 9 评论