个人JS体系完善(一)】的更多相关文章

个人JS体系整理(一) 一. 原型 JS每声明一个Function,都有Prototype原型,Prototype原型是函数的一个默认属性,在函数的创建过程中由JS编译器自动添加,也就是说每当生产一个Function对象的时候,就有一个原型Prototype.按照Javascript的说法,Function定义的Object(对象),是一个很特殊的对象,这个使用Function定义的对象与使用New操作符生成的对象之间有一个重要的区别,这个区别就是Function定义的对象有一个Prototyp…
一. 严格模式 JavaScript 严格模式(strict mode)即在严格的条件下运行.首先声明,严格模式是ES5中提出来的,准确来说就是一句指令Use strict,它的目的是指定代码在严格条件下执行,但是在JS旧版本中会被忽略.应用层方面简单理解就是你在严格模式下不可以使用未声明的变量. 图1.1严格模式的函数使用 第一种使用方式为函数使用,即在函数中使用严格模式: 第二种方式为在整个脚本中使用,即在你要使用严格模式的js文件中开头写'use strict'(或者是"use stric…
一. eval eval()函数计算JavaScript字符串,并把它作为脚本代码来执行.如果参数是一个表达式,eval()函数将执行表达式.如果参数是Javascript语句,eval()将执行Javascript语句. 图1.1 如上图所示,第一个eval内部为一个函数表达式,在执行该函数的同时,定义了两个全局变量X和Y,所以结果分别为200.4.27. 由于因为它会执行任意传给它的代码,在代码字符串未知或者是来自一个不信任的源时,会导致安全问题,同时非常耗性能(它会执行两次2次,一次解析成…
在去年我们还未开始开发基于node.js的新版本EasyDarwin RTSP开源流媒体服务器的时候,我写了一篇博客<对EasyDarwin开源项目后续发展的思考:站在巨人的肩膀上再跳上另一个更高的肩膀>,思考了为什么要基于node.js来做像RTSP.SIP.GB28181这种信令协议的流媒体服务器,现在新版本的EasyDarwin(based on node.js)已经全线替换了原来基于Apple的Darwin Streaming Server的流媒体服务器版本,体验及效果非常好,而且相较…
得益于前辈的分享,做了一个h5录音的demo.效果图如下: 点击开始录音会先弹出确认框: 首次确认允许后,再次录音不需要再确认,但如果用户点击禁止,则无法录音: 点击发送 将录音内容发送到对话框中.点击即可播放.点击获取录音即可下载最后一次的音频: 播放下载都是围绕blob文件.播放就是让隐藏的audio标签的地址指向内存中的blob: this.play = function (audio,blob) { blob=blob||this.getBlob().blob; audio.src =…
    JavaScript缺少包结构.CommonJS致力于改变这种现状,于是定义了包的结构规范(http://wiki.commonjs.org/wiki/Packages/1.0 ).而NPM的出现则是为了在CommonJS规范的基础上,实现解决包的安装卸载,依赖管理,版本管理等问题.require的查找机制明了之后,我们来看一下包的细节.     一个符合CommonJS规范的包应该是如下这种结构: 一个package.json文件应该存在于包顶级目录下 二进制文件应该包含在bin目录下…
RPG JS是一个2D RPG游戏制作引擎,目前版本基于Ease|JS游戏引擎,基于Canvas Engine的新版本即将发布. RPG JS是免费且开源的. RPG JS有着完善的文档支持. RPG JS 100%使用HTML5和JAVASCRIPT书写,因而是跨平台的. RPG JS可以从RPG Maker XP导入地图和事件. RPG JS提供100个预置的动画. RPG JS和RPG Maker XP的联系 RPG JS可以看成是RPG Maker XP的web版本. RPG Maker…
为什么使用 Sea.js ? Sea.js 追求简单.自然的代码书写和组织方式,具有以下核心特性: 简单友好的模块定义规范:Sea.js 遵循 CMD 规范,可以像 Node.js 一般书写模块代码. 自然直观的代码组织方式:依赖的自动加载.配置的简洁清晰,可以让我们更多地享受编码的乐趣. Sea.js 还提供常用插件,非常有助于开发调试和性能优化,并具有丰富的可扩展接口. 兼容性 Sea.js 具备完善的测试用例,兼容所有主流浏览器: Chrome 3+ ✔ Firefox 2+ ✔ Safa…
一. 背景  距离上一篇JS文章已经20天,经重新总结发现,上一篇概况的有点浅显,适合初学js的入门了解,但对于已经学习js一段时间的人,或者是想系统的了解JS体系,接下来的文章可能会更有帮助. 该系列博客的书写形式:总→分→总的形式介绍,该篇就是总述文章,将整体介绍JS体系包含的内容,并会从对象的角度.内存的角度.面向对象编程思维.构造函数.原型对象.属性.原型链.对象的作用.三大特性等各个方面 进行介绍,该篇文章在后续会不断进行补充,直到该系列文章结束. 二. 整体框图 整体框图: 三. 从…
1.场景重现 在今天修改js文件完善功能时,发现在eclipse中修改了文件后,刷新页面功能无法同步: 2.分析原因 查看编译路径,文件没有修改: 2.1 可能是缓存问题: 2.2 项目未编译: 3.解决尝试 3.1 清空浏览器缓存: 无用 3.2 重新部署项目:第一次有用,再次修改还是无法同步js代码 3.3 remove deploy,重新部署,提示没有自动编译,需要设置默认自动编译: 完成 3.3.1 重新编译后,有java文件没有编译进项目,在Project-->Clean... 后,自…