`
18211103738
  • 浏览: 82810 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

JS开发中的几个彰显水准的技巧

阅读更多

1.使用requestAnimationFrame

JavaScript创建动画时使用requestAnimationFrame帧动画,它很类似于setTimeOut函数,并且当标签页失去焦点时,它就不再运行

 一般用法:

function render(){
	//TODO
	requestAnimationFrame(render);
}
render();

 启动/停止的用法之一:

//启动/停止的方法:
var requestId;

function loop() {
	...
	// do stuff
	...
	requestId = window.requestAnimationFrame(loop, canvas);
}

function start() {
	if (!requestId) {
		loop();
	}
}

function stop() {
	if (requestId) {
		window.cancelRequestAnimationFrame(requestId);
		requestId = undefined;
	}
}

 

2.使用while循环

我们经常使用倒序循环:

for(var i=0; i< array.length; i++){
	//Do Something
}

使用while循环效率更高:

var i = array.length;
while(i--) {
  //Do Something
}

 

3.禁用选中

当canvas占据了整个屏幕,我们想在Canvas控件中禁用选中,可是有如下代码:

// 禁用鼠标选中DOM元素
document.onselectstart = function() {
  return false;
};

 

4.定义回调

我们经常这样设置回调函数:

$("#id").click(function() {
  // 回调函数
  // 返回false在JQuery中会阻止消息的传递和默认行为的放生
  return false;
});

    或者:

$("#id").click(myFunction);
function myFunction(event) {
  //Do Something
  return false;
}

 我们应尽量像如下方式设置回调函数,这样不仅可以轻易将函数从事件上解除,而且可以避免污染全局变量空间,同时增加代码的可维护性:

$("#id").click(callbacks.myFunction);
//所有的回调函数都在callbacks对象中
var callbacks = {
	myFunction:function(event) {
		//Do Something
		return false;
	}
}
// 解除某个函数的绑定
$("#someid").unbind('click', callbacks.myFunction);

 

5.链式三元运算

我们经常这样做:

var number = a > 5 ? 200 : 38;

 其实我们还可以这样做:

var number =
	a < 5 ? 200 :
	a < 7 ? 38 :
	a < 11 ? 15 :
	a < 15 ? 49 :
	64;
//比使用when效率更高
//when a >=15

 

分享到:
评论

相关推荐

    js技巧 javaScript编码技巧

    JavaScript,简称JS,是网页开发中的重要脚本语言,它为网页添加动态功能,使得用户交互更为丰富。本文将深入探讨一些JS编码技巧,帮助开发者提升网站特效的实现能力。 一、变量与数据类型 在JavaScript中,变量...

    JS常见错误及开发技巧

    JavaScript,简称JS,是网页开发中的重要脚本语言,它允许开发者实现动态效果和交互功能。在实际开发中,常见的错误和编码规范是确保代码质量和兼容性的重要因素。以下是一些关于JS开发的关键知识点和技巧: 1. **...

    Node.js硬实战 115个核心技巧.pdf

    以上只是《Node.js硬实战 115个核心技巧》中部分知识点的概述,全书内容更为详实,覆盖了Node.js开发的各个方面,无论你是初学者还是有经验的开发者,都能从中受益匪浅,提升自己的Node.js实战技能。

    Three.js开发指南pdf 最新版

    《Three.js开发指南》是针对WebGL库Three.js的一本详尽教程,旨在帮助开发者深入理解和运用这个强大的3D图形库。Three.js是JavaScript的一个开源项目,它为Web浏览器提供了简单易用的接口,用于创建复杂的3D场景、...

    基于avalon225js封装了几个常用组件

    本文将深入探讨基于Avalon.js 2.2.5版本封装的几个常用组件,以及如何在实际开发中应用这些组件。 标题中的"基于avalon2.2.5js封装了几个常用组件"意味着开发者已经对Avalon.js进行了二次开发,创建了一些便于日常...

    Three.js开发指南电子版

    Three.js开发指南电子版,让你更好的学习理解threejs,Three.js开发指南电子版,让你更好的学习理解threejs

    基于pdf.js在android内部显示pdf文件

    要在Android应用中使用`pdf.js`,我们需要以下几个步骤: 1. **获取`pdf.js`库**:从GitHub上下载`pdf.js`的最新版本,或者通过npm命令`npm install pdfjs-dist`安装。在本例中,我们已经有一个名为`PDFWebView-...

    两个比较好用的Eclipse中javascript插件jsEditor jsEclipse

    总的来说,jsEditor和jsEclipse都是Eclipse中不可或缺的JavaScript开发工具,它们通过丰富的特性和服务,帮助开发者提高生产力,降低出错概率,使JavaScript编程更加轻松愉快。无论你是新手还是经验丰富的开发者,都...

    这个项目收集移动端开发所需要的一些资源与小技巧

    在移动端开发领域,JavaScript开发和混合移动开发是两个至关重要的概念。这个名为"mobileTech-master"的项目显然是一个专注于提供移动端开发资源和技巧的集合,旨在帮助开发者提升他们的技能和效率。下面,我们将...

    javascript开发网页RTS战略游戏 仿星际争霸starcraft.js网页游戏开发

    综上所述,这个项目展示了JavaScript在网页RTS游戏开发中的应用,涵盖了从基础语言特性到高级游戏开发技巧的多个层面。开发者通过JavaScript的灵活性和强大的功能,创造出互动性强、视觉效果丰富的网页游戏体验。

    js开发象棋游戏脚本源码文件

    这款"js开发象棋游戏脚本源码文件"提供了完整的实现,让你能够直接运行游戏,同时也为学习和研究JavaScript编程技巧提供了宝贵的资源。 首先,让我们关注一下这个项目的组成部分。在压缩包中,有四个主要文件夹或...

    JavaScript开发案例参考源代码-有10几个哦

    JavaScript开发案例参考源代码-有10几个哦 JavaScript开发案例参考源代码-有10几个哦 JavaScript开发案例参考源代码-有10几个哦 汇率计算器 init 自定义播放器 汇率计算器 exchange rate Modal menu slider 猜单词 ...

    ReactNative用javascript开发移动应用.中文完整版.pdf

    React Native将React.js的组件化开发方式引入到移动应用开发中,使得Web开发者可以运用他们熟悉的JavaScript和React技能,同时享受到接近原生应用的性能。它的核心是基于React组件库,开发者可以通过定义可重用的...

    应用javascript开发的班级网站

    总的来说,这个“应用javascript开发的班级网站”项目提供了一个很好的实践平台,让我们深入理解JavaScript在网页开发中的实际应用,同时也能学习到前端开发中的最佳实践和技巧。通过分析源代码,我们可以进一步提升...

    web前端开发html+css+js免费下载(设计作品成品)

    在“web前端开发html+css+js免费下载(设计作品成品)”这个资源中,包含了一系列使用HTML、CSS和JavaScript技术构建的Web应用实例。这些技术是现代Web开发的基石,它们共同作用于创建交互式的网页和应用程序。下面...

    Three.js实战常用技巧课程

    三、本课程主要针对three.js实际开发中常用的一些技巧进行讲解。 课程目录: 第1章 模型射线拾取、标签 第2章 WebGL渲染器相关 第3章 相机Camera相关 第4章 材质Material和渲染效果 第5章 PBR材质 第6章 纹理贴图...

    JavaScript开发积分兑换小程序项目源代码.zip

    JavaScript开发积分兑换小程序项目源代码JavaScript开发积分兑换小程序项目源代码JavaScript开发积分兑换小程序项目源代码JavaScript开发积分兑换小程序项目源代码JavaScript开发积分兑换小程序项目源代码。...

    JavaScript基础与案例开发详解

    到构建浏览器端的富文本编辑器,再到实现像Windows那样的复杂UI的操作,每一个案例都能让读者从中学习到主流的Javascript开发技巧。针对初学者,《 资源太大,传百度网盘了,链接在附件中,有需要的同学自取。

    一个纯js开发的日历、日程控件

    纯JS开发的日历和日程控件通常包含以下几个核心组成部分: 1. **日期和时间处理**:JavaScript内建的Date对象是处理日期和时间的基础。开发者需要理解和掌握如何创建Date对象、获取和设置日期/时间属性,以及进行...

Global site tag (gtag.js) - Google Analytics