setinterval

定时器和计时器

心已入冬 提交于 2019-11-29 10:15:35
调度:setTimeout和setInterval 我们可能决定不立即执行某个功能,但在某个时间之后执行。 这叫做“安排一个电话”。 它有两种方法: setTimeout 允许我们在一段时间后运行一次函数。 setInterval 允许我们重复运行一个函数,从时间间隔开始,然后以该间隔连续重复。 这些方法不是JavaScript规范的一部分。 但是大多数环境都有内部调度程序并提供这些方法。 特别是,它们在所有浏览器和Node.js中都受支持。 的setTimeout 语法: let timerId = setTimeout(func|code, [delay], [arg1], [arg2], ...) 参数: func|code 函数或要执行的代码串。 通常,这是一个功能。 由于历史原因,可以传递一串代码,但不建议这样做。 delay 运行前的延迟,以毫秒(1000毫秒= 1秒)为单位,默认为0。 arg1 , arg2 ... 该函数的参数(IE9中不支持) 例如,此代码 sayHi() 在一秒后 调用 : function sayHi() { alert('Hello'); } setTimeout(sayHi, 1000); 有参数: function sayHi(phrase, who) { alert( phrase + ', ' + who ); }

04.前端之BOM和DOM

我是研究僧i 提交于 2019-11-29 09:52:48
前戏   到目前为止,我们已经学过了JavaScript的一些简单的语法。但是这些简单的语法,并没有和浏览器有任何交互。   也就是我们还不能制作一些我们经常看到的网页的一些交互,我们需要继续学习BOM和DOM相关知识。   JavaScript分为 ECMAScript,DOM,BOM。   BOM(Browser Object Model)是指浏览器对象模型,它使 JavaScript 有能力与浏览器进行“对话”。   DOM (Document Object Model)是指文档对象模型,通过它,可以访问HTML文档的所有元素。   Window对象是客户端JavaScript最高层对象之一,由于window对象是其它大部分对象的共同祖先,在调用window对象的方法和属性时,可以省略window对象的引用。例如:window.document.write()可以简写成:document.write()。 BOM window对象      看上面的例子你会发现,name直接封装到了window对象上,了解一下就可以了。   所有浏览器都支持 window 对象。它表示浏览器窗口。   **如果文档包含框架(frame 或 iframe 标签),浏览器会为 HTML 文档创建一个 window 对象,并为每个框架创建一个额外的 window 对象(了解)。*   *

Detecting class change without setInterval

我的梦境 提交于 2019-11-29 09:22:18
I have a div that has additional classes added to it programmatically. How can I detect the class name change without using this setInterval implementation? setInterval(function() { var elem = document.getElementsByClassName('original')[0]; if (elem.classList.contains("added")) { detected(); } }, 5500); MutationObserver? You can use a mutation observer . It's quite widely supported nowadays. var e = document.getElementById('test') var observer = new MutationObserver(function (event) { console.log(event) }) observer.observe(e, { attributes: true, attributeFilter: ['class'], childList: false,

BOM操作 DOM操作

大城市里の小女人 提交于 2019-11-29 08:33:41
BOM操作 ( B指代的是浏览器 ) BOM(Browser Object Model)是指浏览器对象模型,它使 JavaScript 有能力与浏览器进行“对话”。 window对象 所有浏览器都支持 window 对象。它表示浏览器窗口。 **如果文档包含框架(frame 或 iframe 标签),浏览器会为 HTML 文档创建一个 window 对象,并为每个框架创建一个额外的 window 对象。* **没有应用于 window 对象的公开标准,不过所有浏览器都支持该对象。* 所有 JavaScript 全局对象、函数以及变量均自动成为 window 对象的成员。 全局变量是 window 对象的属性。全局函数是 window 对象的方法。 接下来要讲的HTML DOM 的 document 也是 window 对象的属性之一。 一些常用的Window方法: window.innerHeight - 浏览器窗口的内部高度 window.innerWidth - 浏览器窗口的内部宽度 window.open() - 打开新窗口 window.close() - 关闭当前窗口 window的子对象 navigator对象(了解即可) 浏览器对象,通过这个对象可以判定用户所使用的浏览器,包含了浏览器相关信息。 navigator.appName  // Web浏览器全称

BOM 与 DOM

假装没事ソ 提交于 2019-11-29 08:33:33
BOM(Browser Object Model)是指浏览器对象模型,它使 JavaScript 有能力与浏览器进行“对话”。 DOM (Document Object Model)是指文档对象模型,通过它,可以访问HTML文档的所有元素。 Window对象是客户端JavaScript最高层对象之一,由于window对象是其它大部分对象的共同祖先,在调用window对象的方法和属性时,可以省略window对象的引用。例如:window.document.write()可以简写成:document.write()。 window对象 所有浏览器都支持 window 对象。它表示浏览器窗口。 一些常用的Window方法: window.innerHeight - 浏览器窗口的内部高度 window.innerWidth - 浏览器窗口的内部宽度 window.open() - 打开新窗口 window.close() - 关闭当前窗口 window的子对象 navigator对象 navigator.appName  // Web浏览器全称 navigator.appVersion  // Web浏览器厂商和版本的详细字符串 navigator.userAgent  // 客户端绝大部分信息 navigator.platform   // 浏览器运行所在的操作系统 screen对象  

Python JavaScript BOM和DOM以及window对象

▼魔方 西西 提交于 2019-11-29 08:32:38
BOM 和 DOM以及windown : https://www.cnblogs.com/Dominic-Ji/p/9121560.html BOM (Browser Object Model)是指浏览器对象模型,它使 JavaScript 有能力与浏览器进行“对话”。 DOM (Document Object Model)是指文档对象模型,通过它,可以访问HTML文档的所有元素。 Window对象 是客户端JavaScript最高层对象之一,由于window对象是其它大部分对象的共同祖先,在调用window对象的方法和属性时,可以省略window对象的引用。例如:window.document.write()可以简写成:document.write() 一 window对象 1.一些常用的Window方法: window.innerHeight - 浏览器窗口的内部高度 window.innerWidth - 浏览器窗口的内部宽度 window.open() - 打开新窗口 window.close() - 关闭当前窗口 常用的Window方法 2.window的子对象 :navigator对象(了解即可) #浏览器对象,通过这个对象可以判定用户所使用的浏览器,包含了浏览器相关信息。 navigator.appName  // Web浏览器全称 navigator

Difference between arguments in setInterval calls

跟風遠走 提交于 2019-11-29 08:32:04
What's the difference between these setInterval calls and which ones should be used? setInterval("myFunction()",1000) setInterval("myFunction",1000) setInterval(myFunction(),1000) setInterval(myFunction,1000) My guess is that JS uses eval() on the first two (strings) and calls the latter two directly. Also, I don't understand the difference between the calls with and without parentheses. The ones with parentheses call it directly and then periodically call its return value? Correct; the first two use eval and must be avoided at all costs. Adding () calls the function immediately. Javascript

前端基础之BOM和DOM

ε祈祈猫儿з 提交于 2019-11-29 08:28:34
前戏 到目前为止,我们已经学过了JavaScript的一些简单的语法。但是这些简单的语法,并没有和浏览器有任何交互。 也就是我们还不能制作一些我们经常看到的网页的一些交互,我们需要继续学习BOM和DOM相关知识。 JavaScript分为 ECMAScript,DOM,BOM。 BOM(Browser Object Model)是指浏览器对象模型,它使 JavaScript 有能力与浏览器进行“对话”。 DOM (Document Object Model)是指文档对象模型,通过它,可以访问HTML文档的所有元素。 Window对象是客户端JavaScript最高层对象之一,由于window对象是其它大部分对象的共同祖先,在调用window对象的方法和属性时,可以省略window对象的引用。例如:window.document.write()可以简写成:document.write()。 window对象 所有浏览器都支持 window 对象。它表示浏览器窗口。 *如果文档包含框架(frame 或 iframe 标签),浏览器会为 HTML 文档创建一个 window 对象,并为每个框架创建一个额外的 window 对象。 *没有应用于 window 对象的公开标准,不过所有浏览器都支持该对象。 所有 JavaScript 全局对象、函数以及变量均自动成为 window 对象的成员

Why do people say that javascript eval() is evil but you get no objections against setTimeout and setInterval etc?

心已入冬 提交于 2019-11-29 06:11:13
if I am not mistaken eval executes valid code in a given string eval("alert('hey')"); and setTimeout("alert('hey')",1000); does just about the same thing, only with a timer. is set timeout just as risky as eval? I'd say you hear the same objections. setTimeout (with string and not function parameters) is pretty much the same as eval. If possible, setTimeout(function(){ alert ("hey") ; }, 1000); Because when people say "eval", they mean "eval and any function that is more or less equivalent to eval", but the former is much shorter to say. So the answer to your question is yes, it is as risky.

用故事解析setTimeout和setInterval(内含js单线程和任务队列)

折月煮酒 提交于 2019-11-29 04:37:14
区别: setTimeout(fn,t): 延迟调用,超过了时间就调用回调函数,返回一个id,使用clearTimeout(id)取消执行。 注意: 取消了里面的回调函数就不执行了哦,而不是取消的时候就立即执行,下面有源码可以自己cv试一下。 setInterval(fn,t): 循环调用,有周期性的调用回调函数,返回一个id,使用clearInterval(id)取消执行。 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>菜鸟教程(runoob.com)</title> <script> console.log('333333333333333333333') var aa =setTimeout(()=>{ console.log("11111111111111") },6000) setTimeout(()=>{ clearTimeout(aa) console.log("2222222222") },3000) </script> </head> <body> </body> </html> 在学习这两种延迟函数之前要最好是先了解一下JS单线程和任务队列; 举个栗子: 在广场上,只有一家一点点奶茶店( cpu ),然后我( 一个任务 )要去买奶茶( 执行这个任务 ),只能排一条队( js的单线程机制 )