有时候结局不是很美好,但起码这也算是一种结局,这个系列的最后一篇settimeout,这是一个让人困惑的函数,也是我一直在吐槽JS的 原因,我们看不到JS的源代码,setimeout同样也是,从始到终都是黑盒子的使用. 一:settimeout单线程的质疑? 所有的教科书都在说js是单线程模型,也说settimeout的执行函数会丢给js的内部执行队列,这其中还包括onlick事件以及一些xhr的回调函数. 乍一看貌似是这么一回事,既然要排队嘛,那肯定是FIFO的原则了,谁也无法保证准确的定时触…
JavaScript之旅(DOM) [TOC] 一.认识DOM 什么是 DOM? DOM 是 Document Object Model(文档对象模型)的缩写. DOM 是 W3C(万维网联盟)的标准. DOM 定义了访问 HTML 和 XML 文档的标准: DOM是中立于平台和语言的接口,它允许程序和脚本动态地访问和更新文档的内容.结构和样式.W3C DOM 标准被分为 3 个不同的部分: 核心 DOM - 针对任何结构化文档的标准模型 XML DOM - 针对 XML 文档的标准模型 HTM…
JavaScript之旅(三) 三.函数 在JavaScript中,定义函数的方式如下: function abs(x) { ... return ...; } 如果没有return,返回结果为undefined. 第二种定义函数的方式如下: var abs = function (x) { return ...; }; 在这种方式下,function(x){...}是一个匿名函数,它没有函数名.但是,这个匿名函数赋值给了变量abs,通过变量abs就可以调用该函数.注意这种方式按照完整语法需要在…
JavaScript之旅(二) 二.进阶知识 js的正则表达式 异常处理 调试 变量提升 表单验证 JSON javascript:void(0) JavaScript 代码规范 二.进阶知识 1. js的正则表达式 js中的正则表达式的构造方式: /模式/选项 例如:var patt = /w3cschool/i 其中"w3cschool"为要搜索的正则表达式模式,i是选项或修饰符,表示忽略大小写. 在 JavaScript 中,正则表达式通常用于两个字符串方法 : search()…
Javascript之旅(一) 一.基础知识 基本语法 变量 数据类型 字符串 数组 对象 条件判断 循环 Map和Set iterable 为什么要学习JavaScript JavaScript 是web 开发人员必须学习的 3 门语言中的一门: HTML 定义了网页的内容(人体) CSS 描述了网页的布局(衣服) JavaScript 网页的行为(动作) 一个合格的开发人员应该精通JavaScript,不要被Web时代所淘汰. 什么是JavaScript? JavaScript是世界上最流行…
先贴上moveElement()函数的大纲,为了方便观看,删了部分代码,完整版粘到文章后面. function moveElement(elementID,final_x,final_y,interval) { //测试JS兼容性代码 if (elem.movement) { clearTimeout(elem.movement); } //计算并移动elementID位置 var repeat = "moveElement('"+elementID+"',"+fi…
已知: 1.1 开启Timeout程序: scope.setTimeout("functionName()" | functionHandle, timeValue) 返回值:timerID 1.2 关闭Timeout程序: scope.clearTimeout(timerID); 2.1 开启Interval程序: scope.setInterval("functionName()" | functionHandle, timeValue)  返回值:timerI…
困惑一: var obj1 = new Object(); var obj2 = obj1; obj1.name = "阳光小强"; alert(obj2.name); //输出结果:阳光小强 JavaScript中的5个基本类型:Undefined.Null.Boolean.Number和String都是按值訪问的.能够操作保存在变量中的实际的值,内存空间例如以下: var num1 = 5; var num2 = num1; watermark/2/text/aHR0cDovL2J…
困惑一: 先看一个样例: function test(){ message = "hi"; } test(); alert(message); 会输出字符串"hi" 在函数内部使用var定义的变量是局部变量,省略var操作符的变量是全局变量. 困惑二: alert(undefined == null) 结果是"true" 我们知道在js中分为基本类型和引用类型,基本类型包含number.string.boolean.undefined.null.…
setTimeout和setInterval的语法同样.它们都有两个參数.一个是将要运行的代码字符串.另一个是以毫秒为单位的时间间隔,当过了那个时间段之后就将运行那段代码. 只是这两个函数还是有差别的.setInterval在运行完一次代码之后,经过了那个固定的时间间隔,它还会自己主动反复运行代码,而setTimeout仅仅运行一次那段代码. 差别:window.setTimeout("function",time)://设置一个超时对象.仅仅运行一次,无周期            w…