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){}//->两个条件中只要有一个条件为真,整体就为真 "或 ...
随机推荐
- OGG常见问题处理
1403: ORA-01403: No data found 在运行PL/SQL块.存储过程.函数.触发器等,假设须要进行操作的记录没有查询到.则会返回1403的错误 Goldengate中的1403 ...
- 细说php(三) 运算符与表达式
一.算术运算符 + - * / % ++ -- <?php $a = 100; $a++; // $a=$a+1; 先用变量再自增1 ++$a; // $a=$a+1; 先用 ...
- SSCTF Final PWN
比赛过去了两个月了,抽出时间,将当时的PWN给总结一下. 和线上塞的题的背景一样,只不过洞不一样了.Checksec一样,发现各种防护措施都开了. 程序模拟了简单的堆的管理,以及cookie的保护机制 ...
- [Uva247][Tarjan求强连通分量][Calling Circles]
题目大意: 例如:A跟B打电话,B跟C打电话,C跟A打电话..D跟E打电话,E跟D不打电话.则A,B,C属于同一个电话圈,D,E分别属于一个电话圈,问有多少个电话圈. 分析 就是裸的求强连通分量,直接 ...
- 【高精度练习+卡特兰数】【Uva1133】Buy the Ticket
Buy the Ticket Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) T ...
- 伪元素::before和::after
有时候我们的页面里面有不少其他网站的名字,而且还要求网站名后面还要有网站的链接,类似这样:百度(http://www.baidu.com).这个时候如果网站多的话写起来就很麻烦了 <a href ...
- 自定义的GitLab 头像无法正常显示以及URL总是指向localhost
解决指向localhost的问题: 编辑gitlab的配置vi /etc/gitlab/gitlab.rb,修改external_url 参数值 [Mesogene@localhost ~]$ sud ...
- RTP InitializeComponent() 报错
注意xaml中x:Class 是不是相应改了,下面2处标红的部分是否一致. namespace RTP.ToolKits{ /// <summary> /// Interaction lo ...
- 分享一个手机端好用的jquery ajax分页类
分享一个手机端好用的jquery ajax分页类 jquery-ias.min.js 1,引入jquery-ias.min.js 2,调用ajax分页 <script type="te ...
- hbase性能调优之压缩测试
文章概述: 1.顺序写 2.顺序读 3.随机写 4.随机读 5.SCAN数据 0 性能测试工具 hbase org.apache.hadoop.hbase.PerformanceEvaluation ...