Javascript
文章平均质量分 73
智美码农
C#程序开发+HTML5手机应用开发+THREEJS3D浏览器开发。主要擅长C#开发和JS开发,2014年接手开发一个3D建筑模型浏览器开发,涉及3D模型等知识。目前寻求C#应用开发或者JS开发等互联网应用开发的工作,同时也接受ThreeJS BIM行业开发相关的工作。
展开
-
Javascript 按位取反运算符 (~)
Javascript 按位取反运算符 (~) ,对一个表达式执行位非(求非)运算。如 ~1 = -2 ; ~2 = -3 ; ~99 = -100result = ~ 【数字】所有一元运算符(如 ~ 运算符)都按照下面的规则来计算表达式的值:如果应用于未定义的表达式或 null 表达式,则会引发一个运行时错误。 将对象转换为字符串。如果可能,将字符串转换为数字。 否则,将引发运转载 2015-05-31 02:53:08 · 1275 阅读 · 0 评论 -
localForage——轻松实现 Web 离线存储
Web 应用程序有离线功能,如保存大量数据集和二进制文件。你甚至可以做缓存 MP3 文件这样的事情。浏览器技术可以保存离线数据和大量的储存。但问题是,如何选择合适技术,如何方便灵活的实现。如果你需要开发一个支持离线存储的 Web 应用程序,不知道从哪里开始,那么这篇文章正是你需要的。localStorage 能够让你实现基本的数据存储,但它的速度慢,而且不能处理二进制数据。IndexedD转载 2015-06-13 21:30:59 · 1157 阅读 · 0 评论 -
DOM性能瓶颈与Javascript性能优化
一.Dom的性能瓶颈及原因1. 为什么是DOM 标准的xml/html的文本解析协议,常见的有DOM与SAX。在解析速度及内存占用上,SAX比DOM有优势,但为什么浏览器选择DOM解析html? (1)DOM VS SAX SAX提供一次性解析文本,不生成对象,Iterator模式访问元素,event-based,PUSH模式触发,简单说:App需转载 2015-06-10 11:08:05 · 420 阅读 · 0 评论 -
HTML5本地存储——IndexedDB(二:索引)
在HTML5本地存储——IndexedDB(一:基本使用)中介绍了关于IndexedDB的基本使用方法,很不过瘾,这篇我们来看看indexedDB的杀器——索引。熟悉数据库的同学都知道索引的一个好处就是可以迅速定位数据,提高搜索速度,在indexedDB中有两种索引,一种是自增长的int值,一种是keyPath:自己指定索引列,我们重点来看看keyPath方式的索引使用.创建索引转载 2015-06-08 11:43:11 · 367 阅读 · 0 评论 -
使用 HTML5 开发 WebApp 性能注意点
PhoneGap HTML5 应用简介PhoneGap是一个用基于HTML,CSS和JavaScript的,创建移动跨平台移动应用程序的快速开发平台。它使开发者能够利用iPhone,Android,Palm,Symbian,WP7,Bada和Blackberry智能手机的核心功能——包括地理定位,加速器,联系人,声音和振动等,此外PhoneGap拥有丰富的插件,可以以此扩展无限的功能。Phon转载 2015-06-08 00:12:51 · 801 阅读 · 0 评论 -
JS中的prototype
JS中的phototype是JS中比较难理解的一个部分本文基于下面几个知识点:1 原型法设计模式,在.Net中可以使用clone()来实现原型法。原型法的主要思想是,现在有1个类A,我想要创建一个类B,这个类是以A为原型的,并且能进行扩展。我们称B的原型为A。2 javascript的方法可以分为三类:a 类方法b 对象方法c 原型方法例子:function P转载 2015-06-26 13:24:48 · 330 阅读 · 0 评论 -
js中arguments的用法
Javascript并没有重载函数的功能,但是Arguments对象能够模拟重载。Javascrip中国每个函数都会有一个Arguments对象实例arguments,它引用着函数的实参,可以用数组下标的方式"[]"引用arguments的元素。arguments.length为函数实参个数,arguments.callee引用函数自身。arguments特性arguments对象不能显式转载 2015-05-31 10:18:59 · 444 阅读 · 0 评论 -
javascript事件触发器fireEvent和dispatchEvent
事件触发器就是用来触发某个元素下的某个事件,IE下fireEvent方法,高级浏览器(chrome,firefox等)有dispatchEvent方法。一般我们在元素上绑定事件后,是靠用户在这些元素上的鼠标行为来捕获或者触发事件的,或者自带的浏览器行为事件,比如click,mouseover,load等等,有些时候我们需要自定义事件或者在特定的情况下需要触发这些事件。这个时候我们可以使用IE下转载 2015-05-29 21:35:52 · 1255 阅读 · 0 评论 -
JS中关于in运算符
近期看某框架源码时,发现以下代码用于当前环境是否支持触摸事件。var touchSupport = ('ontouchstart' in document);关于in用法描述如下:in运算符虽然也是一个二元运算符,但是对运算符左右两个操作数的要求比较严格。in运算符要求第1个(左边的)操作数必须是字符串类型或可以转换为字符串类型的其他类型,而第2个(右边的)操作数必须是数组或对象。只有原创 2015-06-19 11:51:59 · 729 阅读 · 0 评论 -
JS中stopPropagation函数停止事件传播
JS中的事件默认是冒泡方式,逐层往上传播,可以通过stopPropagation()函数停止事件在DOM层次中的传播。如以下例子:HTML代码stopPropagation()使用button没有加stopPropagation()var button = document.getElementsByTagName('button')[0];button.o转载 2015-05-31 03:33:15 · 714 阅读 · 0 评论 -
性能更好的js动画实现方式——requestAnimationFrame
用js来实现动画,我们一般是借助setTimeout或setInterval这两个函数,css3动画出来后,我们又可以使用css3来实现动画了,而且性能和流畅度也得到了很大的提升。但是css3动画还是有不少局限性,比如不是所有属性都能参与动画、动画缓动效果太少、无法完全控制动画过程等等。所以有的时候我们还是不得不使用setTimeout或setInterval的方式来实现动画,可是setTimeo转载 2015-05-31 03:24:53 · 418 阅读 · 0 评论 -
JavaScript中的apply()方法和call()方法使用介绍
每个函数都包含两个非继承而来的方法:apply()和call()。 他们的用途相同,都是在特定的作用域中调用函数。 接收参数方面不同,apply()接收两个参数,一个是函数运行的作用域(this),另一个是参数数组。call()方法第一个参数与apply()方法相同,但传递给函数的参数必须列举出来。 例1:window.firstName = "diz"; window.last转载 2015-05-29 20:47:41 · 393 阅读 · 0 评论 -
Javascript Object.defineProperty()
Javascript作为一种语言,有个美誉,开发者可以重新定义任何事情。虽然这在过去的一些javascript可以,但是ECMAScript5中已经开始得到改变,例如,我们可以使用Object.defineProperty创建一个不能被修改的对象的属性。一、基本用法假如我想构建一个math.js库,看下面的实例:var mathObj = { constants: {转载 2015-05-31 03:09:40 · 327 阅读 · 0 评论 -
.NET微信支付集成实例
微信端HTML页面下单事件:document.getElementById('btn-wxpay')addEventListener('tap', function (e) { //创建订单 $.post('/Orders/Create', orderdata, function(result){ //创建订单成功 if (result.status == 'suc原创 2015-06-15 23:23:54 · 2288 阅读 · 0 评论