JS中的逻辑哲学
1、幻灯片播放。
有重用功能的代码要封入一个函数内,尽量减少调用出口(一般传入的参数为索引值),以便调用;
计数器放在最终调用的函数那里,index++;
明确那部分函数执行什么功能,将代码块只放在相关的函数内,避免调用函数时执行不必要的语句;
原生JS模仿fade in() 函数原理为改变透明度,setInterval(迭代递增透明度,n)。间隔时间与递增值决定渐变速度,部分代码如下:
timer = setInterval(function(){
alpha += 2;
alpha > 100 && (alpha = 100);
aImg[index].style.opacity = alpha / 100;
alpha == 100 && clearInterval(timer);
},40)
2.网页计算器。
eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码。不需要判断是作何运算,全部交给eval()处理;
巧妙运用正则匹配;
3.强大的三元操作符。
对于if()else()之类的语句,尽可能用三元操作符代替,用法如下:
object.style.background = object.background == "green" ? "red" : "green" ;
object.className == "current" ? 执行语句一 : (执行语句二 ,执行语句三,执行语句四。。。) ;
非常适合模拟连续单击的事件触发,以及条件判断;
三元操作符的执行语句用括号括起来,以逗号分隔,可执行多条语句
4.无中生有的 var s = false。
此类对于特殊状态下的条件判断非常好用,辅以 “s || 语句一,s = false; ” 改变 s 状态执行 语句一 ,执行完毕 复位 s 状态,构成封闭逻辑;
妙用无穷啊
5.addEventListener().
使用这个方法可以实现事件绑定的嵌套;
从功能上讲,可以是是事件绑定的条件嵌套,也可通过 var s = false; 来实现;
JS中的逻辑哲学的更多相关文章
- js中的逻辑与(&&)与逻辑或(||)
var foo = 1; var bar = 0; var tar = false; var baz = 2; 一.js中的逻辑与(&&) 1.当第一个数为true时,返回第二个数: ...
- 讲讲js中的逻辑与(&&)以及逻辑或(||)
前几天看到一个函数,百思不得其解,今天早上醒来看了本js的书,正好讲到操作符的用法,给大家分享下js中的&&,||,和我们用的其他的编程语言还是有点区别的. 直接上那个函数的代码: f ...
- js中的逻辑与(&&)和逻辑或(||)
之前有一个同事去面试,面试过程中碰到这样一个问题: 在js中写出如下的答案 : var a = 2; var b = 3; var andflag = a && b ; var orf ...
- js中的逻辑与(&&)和逻辑或(||)(转载)
var a = 2; var b = 3; var andflag = a && b ; var orflag = a || b; 问andflag 和orflag 分别是什么? 起初 ...
- js中的原型哲学思想
https://segmentfault.com/a/1190000005824449 记得当年初试前端的时候,学习JavaScript过程中,原型问题一直让我疑惑许久,那时候捧着那本著名的红皮书,看 ...
- js中的逻辑与和逻辑或随笔
逻辑与:&&,都真才真 逻辑或:||,一真都真 逻辑运算两侧不都是布尔值时,会隐式转换为布尔值转换规则:转换为true:非0数字(包含infinity).非空字符串转换为false:0 ...
- js中的逻辑或和逻辑与
a=''||'abc'; //返回什么? 'abc' a=1||2; // ...
- 研究分析JS中的三种逻辑语句
JS中的三种逻辑语句:顺序.分支和循环语句. 一.顺序语句 代码规范如下:1. <script type="text/javascript"> var a = 10; ...
- JS中 逻辑或 || 逻辑与 && 的使用方法总结
JS中 逻辑或 || 逻辑与 && 的使用方法总结 //1.在if判断中 //if(1==1 || 2==3){}//->两个条件中只要有一个条件为真,整体就为真 "或 ...
随机推荐
- MapReduce程序依赖的jar包
难得想写个mapreduce程序.发现已经不记得须要加入那些jar包了,网上找了一会也没发现准确的答案.幸好对hadoop体系结构略知一二.迅速试出了写mapreduce程序须要的五个jar包. 不多 ...
- crm使用soap更改下拉框的文本值
//C#代码 //UpdateStateValueRequest updateStateValue = new UpdateStateValueRequest //{ // AttributeL ...
- 【组合数学:第一类斯特林数】【HDU3625】Examining the Rooms
Examining the Rooms Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Othe ...
- 【巧妙预处理系列+离散化处理】【uva1382】Distant Galaxy
给出平面上的n个点,找一个矩形,使得边界上包含尽量多的点. [输入格式] 输入的第一行为数据组数T.每组数据的第一行为整数n(1≤n≤100):以下n行每行两个整数,即各个点的坐标(坐标均为绝对值不超 ...
- Android开发错误汇总
[错误信息] [2011-01-19 16:39:10 - ApiDemos] WARNING: Application does not specify an API level requireme ...
- roundcute 添加修改密码插件
添加修改密码插件 现打开main.inc.php 文件,搜索“$rcmail_config['plugins']”,找到: // List of active plugins (in plugins/ ...
- Objective-C——NSMutableURLRequest发送POST请求,使用NSJSONSerialization解析JSON字符串
NSString *reqData = @"Data="; NSData *postDatas = nil; NSString *urlPath = @"url" ...
- NOIP2012模拟试题【奶牛晒衣服】
1.奶牛晒衣服(dry) [问题描述] 在熊大妈英明的带领下,时针和它的同伴生下了许多牛宝宝.熊大妈决定给每个宝宝都穿上可爱的婴儿装.于是,为牛宝宝洗晒衣服就成了很不爽的事情. 圣人王担负起了这个重任 ...
- 屏蔽鼠标右键功能JS
<script language="Javascript"> function hiderightKey(){ return false; } docum ...
- HttpClient---------demo
public class aa { public static void main(String[] args) { // 创建HttpClient实例 HttpClient httpclient = ...