jsjyy7
- 格式:ppt
- 大小:755.00 KB
- 文档页数:24


js的逻辑OR运算符-
逻辑or运算⼤家都很熟悉,都会⽤。
但是在javascript中⽤的更多,⽤的更妙。
有时候⽤它来解决兼容问题特别⽅⾯、简洁。
⽐如获取⿏标对象。
在 Internet Explorer ⾥, event 是全局变量,会被存储在 window.event ⾥.在 firefox 或者其他浏览器,event 会被相应的函数获取.当我们将mouseMove函数赋值于document.onmousemove,mouseMove 会获取⿏标移动事件。
在ie中获取⿏标对象是
var ev=window.event; ⽽在firefox等浏览器中⽤function(ev){var
ev=ev},在调⽤函数的时候传⼊event,
这样如果要做到兼容,就可以判断浏览器是否为ie然后再调⽤哪个⽅法。
但是这样就变得⿇烦了,⽤ or运算就可以很容易实现。
function(ev){
ev=ev||window.event;
}
在获取键盘的值的时候也可以⽤到 ||
document.onkeydown=function(e){
e = window.event || e;
var currKey=e.keyCode||e.which||e.charCode;
}
OR 运算符是这样⼯作的:从左到右,如果左边的值是
NaN、undefined、null、false、0,就会执⾏右边的,否则不执⾏右边的,直接执⾏下⾯的代码。
js实现移动端⼿指左右上下滑动翻页效果var ele = document.getElementsByClassName("img-box")[0];var beginX, beginY, endX, endY, swipeLeft, swipeRight;ele.addEventListener('touchstart', function (event) {event.stopPropagation();event.preventDefault();beginX = event.targetTouches[0].screenX;beginY = event.targetTouches[0].screenY;swipeLeft = false, swipeRight = false;});ele.addEventListener('touchmove', function (event) {event.stopPropagation();event.preventDefault();endX = event.targetTouches[0].screenX;endY = event.targetTouches[0].screenY;// 左右滑动if (Math.abs(endX - beginX) - Math.abs(endY - beginY) > 0) {/*向右滑动*/if (endX - beginX > 0) {swipeRight = true;swipeLeft = false;}/*向左滑动*/else {swipeLeft = true;swipeRight = false;}}else if(Math.abs(endX - beginX) - Math.abs(endY - beginY) < 0){// 上下滑动}});ele.addEventListener('touchend', function (event) {event.stopPropagation();event.preventDefault();if (Math.abs(endX - beginX) - Math.abs(endY - beginY) > 0) {event.stopPropagation();event.preventDefault();if (swipeRight) {swipeRight = !swipeRight;/*向右滑动*/}if(swipeLeft) {swipeLeft = !swipeLeft;/*向左滑动*/}}});除了这种⽅法之外可以使⽤第三⽅插件来实现同样的效果,如包含了多种移动端⼿势效果及ajax请求等操作,但是在使⽤过程中遇到了问题。
js yield 用法
js yield 用法
yield 用法:
yield 是JavaScript中的一个关键字,它可以用来暂停和恢复函数
的执行,它是用来生成 iterator(迭代器)的一个重要工具。
使用 yield 关键字,可以创建一个特殊的函数,也称为 Generator
函数,它可以在特定位置(称为 yield 语句)暂停执行,以便之后从该
位置恢复执行,并且可以每次返回不同的值。
这使得 Generator 函数可
以实现 iterative(迭代)操作,比如在循环中。
使用 yield 关键字的函数,也就是 Generator 函数,可以让你拥有
更多高级功能,比如可以自定义 iterator 迭代器,以及轻松创建可以恢
复和取消的任务。
另外,Generator 函数和其他结构,比如 promises 和 async/await 一起使用,可以为开发者提供更多的控制权,而不是紧密耦合的回调函数。
js中国标准时间转换yymmdd方法标准时间是统一时间标准,全世界任何地方都可以通过它计算时间。
标准时间中有一种十分常用的格式:YYMMDD,即年月日代表00年 01月 02日这样的格式。
今天,我们将分享下在JS中将标准时间转换为YYMMDD形式的方法。
首先,在JS中,标准时间的转换主要是使用toString()和substr()函数,如下所示:var date=new Date();var YYMMDD=date.toString().substr(11,8);在这段代码中,“ date”表示我们要操作的时间,通常我们都使用ew Date()来初始化一个新的时间对象,然后通过toString()函数将其转换为字符串形式,最后调用substr()函数,将其转换为我们想要的YYMMDD形式的时间格式。
当然,在实际应用中,标准时间的转换还有另外一种更简单的方法,使用Date()函数,如下所示:YYMMDD=Date().substr(11,8);在这段代码中,“Date”表示的就是一个new Date()的缩写,可以直接调用,而不用再次声明,接着调用substr()函数,将其转换为YYMMDD格式的时间格式。
此外,JS还提供了非常方便的Date.now()函数,它可以直接获取当前的时间,以毫秒为单位,而不必使用new Date()函数,示例代码如下:var date=Date.now();date=date.substr(11,8);最后,如果需要将标准时间转换为日期格式(YYMMDD),我们可以使用getDay()函数,具体代码如下:date=new Date();YYMMDD=date.getDay();以上就是在JS中将标准时间转换为YYMMDD形式的方法,通过上述三种方法,大家都可以轻松获取当前的时间,让我们在工作和生活中更加高效。