LanceT Blog

Category: JS理论 (page 1 of 2)

JS性能优化

下面是一些关于客户端JS性能的一些优化的小技巧: 1.关于JS的循环,循环是一种常用的流程控制。JS提供了三种循环:for(;;)、while()、for(in)。在这三种循环中 for(in)的效率最差,因为它需要查询Hash键,因此应尽量少用for(in)循环,for(;;)、while()循环的性能基本...

javascript中apply、call和bind的区别

在JS中,这三者都是用来改变函数的this对象的指向的,他们有什么样的区别呢。 在说区别之前还是先总结一下三者的相似之处: 1、都是用来改变函数的this对象的指向的。 2、第一个参数都是this要指向的对象。 3、都可以利用后续参数传参。 那么他们的区别在哪里的,先...

深入理解javascript中的立即执行函数(function(){…})()

javascript和其他编程语言相比比较随意,所以javascript代码中充满各种奇葩的写法,有时雾里看花,当然,能理解各型各色的写法也是对javascript语言特性更进一步的深入理解。 ( function(){…} )()和( function (){…} () )是两种javascript立即执行函数的常见写法,最...

DOM对象与jQuery对象的区别

1.jQuery对象和DOM对象 第一次学习jQuery,经常分辨不清哪些是jQuery对象,哪些是 DOM对象,因此需要重点了解jQuery对象和DOM对象以及它们之间的关系. DOM对象,即是我们用传统的方法(javascript)获得的对象,jQuery对象即是用jQuery类库的选择器获得的对象; var domO...

Javascript的this用法

this是Javascript语言的一个关键字。 它代表函数运行时,自动生成的一个内部对象,只能在函数内部使用。比如,   function test(){     this.x = 1;   } 随着函数使用场合的不同,this的值会发生变化。但是有一个总的原则,那就是this指的是...

js创建Object的几种常用方式

第一种模式:工厂方式 var lev=function(){ return "脚本之家"; }; function Parent(){ var Child = new Object(); Child.name="脚本"; Child.age="4"; Child.lev=lev; return Child; }; var x = Parent(); alert(x.name); alert(x.lev()); 说明: 1.在函数中定义...

JavaScript事件委托的技术原理

如今的JavaScript技术界里最火热的一项技术应该是‘事件委托(event delegation)’了。使用事件委托技术能让你避免对特定的每个节点添加事件监听器;相反,事件监听器是被添加到它们的父元素上。事件监听器会分析 从子元素冒泡上来的事件,找到是哪个子元素的事件。基本...

JS的构造函数

  //构造函数 //使自己的对象多次复制,同时实例根据设置的访问等级可以访问其内部的属性和方法 //当对象被实例化后,构造函数会立即执行它所包含的任何代码 function myObject(msg){ //特权属性(公有属性) this.myMsg = msg; //只在被实例化后的...

类型转换

显式类型转换(强制类型转换) Number() parseInt() parseFloat()   隐式类型转换: +          200+‘3’ 变成字符串 -*/%    ‘200’-3    变成数字 ++ —     var a = ’11’    a++  => 11  变成数字 ><   ’10’>9 => ...

getElementById vs getElementByTagName

getElementById 是静态方法 getElementByTagName 是动态方法   区别一 getElementById 前面只能加document eg. document.getElementById   区别二 getElementByTagName 前面可以加父级变量 eg. oUl.getElementByTagName getElementByTagName获取到的是元素...
Olderposts