随笔分类 -  javascript

JavaScript的异步运行机制
摘要:异步运行机制如下: 1.左右同步任务都在主线程上执行,形成一个执行栈 2.主线程值外,还存在一个任务队列,只要异步任务有了运行结果,就在任务队列中放置一个事件 3.一旦执行栈中的所有同步任务执行完毕,系统会读取任务队列并将对应要执行的任务放到主线程中,主线程结束等待状态,进入执行栈,开始执行 (只要 阅读全文

posted @ 2017-03-18 14:07 .smile 阅读(439) 评论(0) 推荐(0)

事件流
摘要:1.JavaScript与HTML之间的交互时通过事件实现的,事件流描述的是对象接收事件的顺序 2.事件流有两种,事件冒泡和事件捕获 3.事件冒泡:事件首先发生在最具体的对象上,然后沿着DOM树向上传播(不会受css影响),每一级都会发生事件,直到window对象,所有现代浏览器都支持事件冒泡 阻止 阅读全文

posted @ 2017-03-12 09:44 .smile 阅读(199) 评论(0) 推荐(0)

事件函数绑定方式
摘要:1.赋值形式及其问题 这样做,第二次赋的值会替换掉第一次的值 ,点击时只会输出1 2.函数形式 所有IE:obj.attachEvent(事件名称,事件函数) a.没有捕获 b.事件名称有on c.事件执行顺序:标准IE正序,非标准倒序 d.事件函数中this指向window 标准下(IE9+):o 阅读全文

posted @ 2017-03-12 09:14 .smile 阅读(422) 评论(0) 推荐(0)

event对象的理解
摘要:0.给对象绑定事件准确的说是给对象事件绑定事件函数 1.event:事件对象,当一个事件发生的时候,和当前这个对象发生的事件有关的信息都会被i临时保存到event对象中 2.event对象必须在一个事件调用的函数里面才有对应事件的内容 3.事件触发时调用的函数,叫做事件函数,一个函数是不是事件函数, 阅读全文

posted @ 2017-03-11 20:11 .smile 阅读(323) 评论(0) 推荐(0)

document.body和document.documentElement区别
摘要:1.document.documentElement表示文档节点树的根节点,即<html> document.body是body节点 2. 页面具有 DTD,或者说指定了 DOCTYPE 时,使用 document.documentElement 页面不具有 DTD,或者说没有指定了 DOCTYPE 阅读全文

posted @ 2017-03-11 20:10 .smile 阅读(333) 评论(0) 推荐(0)

JS兼容性问题
摘要:1.AJAX IE:new ActiveXObject() FF、Chrome:new XMLHttpRequest() 解决办法 统一封装创建XMLHttpRequest对象的方法 2.集合类对象的()与[]的问题 IE下,可以使用()或[]获取集合类对象;Firefox下,只能使用[]获取集合类 阅读全文

posted @ 2017-03-07 19:36 .smile 阅读(981) 评论(0) 推荐(0)

一些总结
摘要:1.JS中不强制要求加分号,其会在编译时自动补上分号,加分号规则如下 a.当有换行符,且下一行无法和前面进行语法匹配时. b.当有}时. c.当程序代码结束时. 2.getElementById方法只能用于document对象,而且实一种静态方法 getElementsByTagName不仅限于do 阅读全文

posted @ 2017-03-04 15:19 .smile 阅读(206) 评论(0) 推荐(0)

AJAX的理解
摘要:1.AJAX的含义:用Javascript异步形式操作XML 2.AJAX的作用:在无需重新加载整个网页的情况下,能够更新部分网页,传统的网页(不使用 AJAX)如果需要更新内容,必需重载整个网页面 3.AJAX的核心是XMLHttpRequest对象 4.XMLHttpRequest拥有两个方法, 阅读全文

posted @ 2017-02-27 20:49 .smile 阅读(5441) 评论(1) 推荐(0)

单体内置对象的理解
摘要:1.有ECMAScript提供的,不依赖于宿主环境,在程序执行之前就已经存在的对象,叫内置对象,例如Object,Array,String 也就是说,实际使用时不用实例化内置对象,因为他们已经实例化了 2.ECMAScript定义了两个单体内置对象Global和Math a.Global对象 所有在 阅读全文

posted @ 2017-02-27 17:35 .smile 阅读(369) 评论(0) 推荐(0)

JS面向对象的理解
摘要:1.JS中的对象就是普通名值对的集合 2.使用对象时,只关心对象提供的功能,不用关注内部细节 3.面向对象的特点 a.封装 b.继承 c. 多态 4.依附于对象的变量叫属性 依附于对象的函数叫方法 5.创建对象的三种方式 a.工厂模式,使用简单的函数创建对象,为对象添加属性和方法,然后返回对象 b. 阅读全文

posted @ 2017-02-27 13:38 .smile 阅读(11193) 评论(0) 推荐(0)

引用类型值的相等判断
摘要:1.对象在JavaScript中被称为引用类型的值 2.定义一个引用类型值,内部实现原理是用new构造函数的方式 3.即使两次定义的引用类型值完全相同,两个值也不相等,因为这是两个对象,对象仅等于她自己 阅读全文

posted @ 2017-02-27 13:15 .smile 阅读(273) 评论(0) 推荐(0)

数组的常用方法
摘要:1.数组的方法 增删改方法: push方法 push方法可以向数组的最后添加任意个项,并返回添加项后数组的长度 unshift方法 unshift方法可以向数组的最前添加任意个项,并返回添加项后数组的长度(IE9以下不支持unshift的返回值) pop方法 去掉数组中最后一项,并返回去掉的项 sh 阅读全文

posted @ 2017-02-26 22:07 .smile 阅读(379) 评论(0) 推荐(0)

判断变量是否存在时需要注意的问题
摘要:如果以变量是否存在作为判断条件,当变量不存在时,浏览器会抛出错误,也就是说,不能判断不存在的变量 有很多种写法可以避免这种错误,下面是几种常见的写法 1.将判断变量转化为判断window属性是否存在 2.有时window并不是全局对象,这是可以用this代替全局对象 3.将变量存在性判断转化为变量是 阅读全文

posted @ 2017-02-24 10:47 .smile 阅读(552) 评论(0) 推荐(0)

倒计时
摘要:1 var aInp = document.getElementsByTagName('input'); 2 var iNow = null; 3 var iNew = null; 4 var t = 0; 5 var str = ''; 6 var timer = null; 7 8 aInp[2].onclic... 阅读全文

posted @ 2017-02-23 09:43 .smile 阅读(225) 评论(0) 推荐(0)

系统时间的友好显示
摘要:1 var oBody = document.body; 2 3 setInterval( fnTime, 1000 ); 4 5 fnTime (); 6 7 function fnTime () { 8 9 var myTime = new Date(); //object 10 ... 阅读全文

posted @ 2017-02-23 09:14 .smile 阅读(334) 评论(0) 推荐(0)

JS中立即执行函数的理解
摘要:1.匿名函数不能单独定义,必须进行赋值操作或者立即执行,否则会被JS引擎定义为语法错误 2.在函数体后面加括号就能立即调用,这个函数形式必须是函数表达式,不能是函数声明 3.可以在函数前面加符号,或者用括号将函数包住来消除函数声明 4.消除函数声明最安全的做法是加括号,因为运算符号还会和函数的返回值 阅读全文

posted @ 2017-02-22 20:23 .smile 阅读(1153) 评论(0) 推荐(0)

JS作用域理解(声明提升)
摘要:1.JS解析步骤: a.预解析 将变量声明提升; 将函数声明及函数内容提升,可以理解成原来位置的函数在解析代码时已经提到代码初始位置; 块内的变量声明和函数声明也会被提升,例如if语句 遇到重名,只留下一个; 如有重名变量和函数,留下函数; 如有两个重名函数,后一个函数覆盖前一个函数; firefo 阅读全文

posted @ 2017-02-22 19:51 .smile 阅读(1561) 评论(0) 推荐(0)

JS中变量和常量的定义
摘要:var只能声明一个变量,这个变量可以保存任何数据类型的值 ES6之前并没有定义声明常量的方式,ES6标准中引入了新的关键字const来定义常量 使用const定义常量后,常量无法改变 ES6中还新增了let关键字来声明变量,作用与var相似,但其所声明的变量只在声明所在块内有效 阅读全文

posted @ 2017-02-22 19:45 .smile 阅读(37173) 评论(0) 推荐(0)

对JS中函数的理解
摘要:函数本质就是功能的集合 JS中函数是对象,因此,函数名实际上仅仅是一个指向函数对象的指针,不会与某个函数绑定,所以,JS中没有重载(重载就是通过传递不同类型的参数,使两个相同函数名的函数执行不同的功能) 要访问函数的引用(指针)而不是执行函数时,必须去掉圆括号,加上圆括号表示访问函数执行后的结果 函 阅读全文

posted @ 2017-02-21 20:43 .smile 阅读(1395) 评论(0) 推荐(0)

JS中==与===的区别
摘要:在JS中,==是相等符,如果==两边类型不同,比较时会先进行隐式转换,再比较 是全等符,表示 两边的量与量的类型必须完全相同 用哪个,根据实际情况而定 阅读全文

posted @ 2017-02-20 19:06 .smile 阅读(1784) 评论(0) 推荐(0)

导航