随笔分类 - javascript
学习javascript过程中,觉得比较重要的地方的记录,重要是学习笔记
摘要:impress.js是作者受prezi.com的启发,基于css3中的动画transforms,做成的一个表现层工具。效果非常炫,用起来也比较简洁。类库:http://bartaz.github.com/impress.js/js/impress.js样式文件:http://bartaz.githu...
阅读全文
摘要:有一些非常有用的工具函数组成。包括collection,Array,object,function等。API参考:http://underscorejs.org http://www.css88.com/doc/underscore(中文)
阅读全文
摘要:js中的event对象包含很多有用的信息target:触发事件的元素。currentTarget:事件绑定的元素。两者在没有冒泡的情况下,是一样的值,但在用了事件委托的情况下,就不一样了,例如: fsda ewre qewe xvc 134 如果点击li,console上的情况如下:------target---------currentTarget
阅读全文
摘要:请参见http://www.west263.com/info/html/wangyezhizuo/Javascript/20080225/34168.html
阅读全文
摘要:1.top是顶级的框架,也就是浏览器窗口。2.window.close()只能关闭window.open()打开的窗口。3.firefox不支持修改状态栏,firefox3后强制始终在弹出窗口中显示地址栏。4.大多数浏览器都内置有弹出窗口屏蔽程序。5.setTimeout(要执行的逻辑,毫秒表示的等待时间),第一个参数不建议使用字符串,使用函数比较好。 setTimeout调用之后返回一个数值ID,表示超市调用,是计划执行代码的唯一标识,用这个取消超市调用。 如 var timeoutId = setTimeout(function(){alert("hello world"
阅读全文
摘要:1.作用链本质上是一共指向变量对象的指针列表,它只引用但不实际包含变量对象。2.闭包(有权访问另一函数作用域中的变量的函数,常见的形式就是在一个函数的内部创建另一个函数)会携带包含它的函数的作用域,因此会比其他函数占用更多的内存,建议少用闭包。3.闭包只能取得包含函数中的任何变量的最后一个值。个人觉得这一点刚好验证了第一点。正因为是引用,所以只会外部函数的变量对象中的最后的值。4.闭包中的this指的是window,argument是[].要想访问作用域总的argument对象,必须将该对象的引用保存到另一个闭包能够访问的变量中。5.闭包和匿名函数不是一个概念。6.闭包中的this通常指的是w
阅读全文
摘要:原型链模式和组合继承模式的区别就在于:继承模式中调用了两次基类的构造函数,结果实例中的属性就屏蔽了原型中的同名属性(这样做可以避免各个实例共享的引用实例相互影响)。组合继承是javascript中最常用的继承模式。例如View Code 1 function Person(name){ 2 this.name = name; 3 this.colors = ["red","blue","white"]; 4 } 5 Person.prototype.sayName = function(){ 6 return this.name; 7
阅读全文
摘要:1.prototype前面在提到Function类型的属性提到了length和prototype,prototype属性是一个非常重要的属性。这个属性是一个指针,指向一个对象。该对象的用途是包含可以由特定类型的所有实例共享的属性和方法,即指向函数的原型对象。这个原型对象中有个一个constructor属性,指向prototype属性所在函数的指针。做如下测试:function Person(){}Person.prototype.name = "nick";alert(Person.prototype.constructor);结果输出的是Person的构造函数。也就是说P
阅读全文
摘要:1.min()和max()方法用于确定一组值中的最小值和最大值。例如var max = Math.max(45,69,2);//max=69 var min = Math.min(45,69,2);//min =22.舍入方法(小数值舍入返回整数) Math.ceil():向上舍入 Math.floor():向下舍入 Math.round():四舍五入3.random()方法 Math.random()方法返回介于0和1之间的一个随机数,不包括0和1。利用此方法可以从某个整数范围内随机选择一个值:值=Math.floor(Math.random() * 可能值的总数 + 第一个可能的...
阅读全文
摘要:函数实际是对象,每个函数都是Function类型的实例,函数名实际上只是指向函数对象的指针,不会与某个函数绑定。1.定义方式 例如:函数声明:function sum(num1,num2){return num1 + num2;} 例如:函数表达式:var sum = function(num1,num2){return num1+num2}; 例如:构造函数:var sum = new Function("num1","num2","return num1 + num2");//不推荐,导致两次解析代码,影响性能。2.函数是对象,函
阅读全文
摘要:1.创建一个日期对象var now = new Date();var someDate = new Date(Date.parse("May 25,2004")) 与 var someDate = new Date("May 25,2004"))等价;2.Date类型的valueOf()方法,不返回字符串,返回日期的毫秒表示。因此,可以比较日期值大小。例如var date1 = new Date(2007,0,1);//2007-1-1var date2 = new Date(2007,1,1);//2007-2-1alert(date1 < da
阅读全文
摘要:ECMAScript数组与其他语言中的数组都是数据的有序列表,但是ECMAScrip数组的每一项可以用来保存任何类型的数据。创建方式有两种1.构造函数 var colors = new Array(“red”,“black”,“white”);2.字面量表示 var colors = [“red”,“black”,“white”];属性colors.length(非只读,可以进行修改)转换方法colors.toString()(逗号分隔) colors.valueOf()(逗号分隔) colors.join("$")(设置分隔符)栈方法colors.push("s
阅读全文
摘要:解除引用:确保占用最少的内存可以让页面获得更好的性能。而优化内存占用的最佳方式,就是为执行中的代码只保存必要的数据。一旦数据不再有用,最好通过将其值设置为null来释放其引用。这一做法适用于大多数全局变量和 全局变量的属性。局部变量会在它们离开执行环境时自动被解除引用。如下:function createPerson(name){var localPerson = new Object();localPerson.name = name;return localPerson;}var globalPerson = createPerson("fdskjf");globalP
阅读全文
摘要:if(true){ var color = "blue"; ....... } alert(color);如下的例子,结果能输出blue,在c、c++、java中,if语句中的对象会在执行完毕或销毁,但在javascript中,if语句中的变量声明会将变量添加到当前的执行环境中。for循环也是一样,结果输出10for(var i=0;i<10;i++){ ....... } alert(i);
阅读全文
摘要:同java一样,javascript中参数也只有值传递。这点同变量的访问不同,变量的访问可以有按值和按引用两种方式。以下分为基本数据类型和引用数据类型说明。1.基本数据类型在向参数传递基本数据类型的值时,被传递的值会被复制给一个局部变量(命令参数,或者是argument对象中的一个元素)。1 function addTen(num){2 num += 10;3 return num;4 }5 var count = 20;6 var result = addTen(count);7 alert(result); //308 ale...
阅读全文
摘要:toFixed()方法返回的是具有指定位数小数的数字的字符串表示。参数说明应该显示几位小数。toExponential(),返回的是科学计数法表示的数字的字符串格式。参数表示要输出的小数的位数。toPrecision(),根据最有意义的形式来返回数字的预定形式或指数形式。参数表示数的数字总数(不包括指数)View Code 1 var oNumberObject = new Number(55);2 alert(oNumberObject.toFixed(2));3 alert(oNumberObject.toExponential(1));4 alert(oN...
阅读全文
摘要:ECMAScript中,变量可以存放两种类型的值,即原始值和引用值。原始值:存储在stack中的简单数据段,值直接存储在变量访问的位置。包括Undefined、Null、Boolean、Number 、String。 由于这些原始类型占据的空间是固定的,所以存储在 较小的内存区域-栈,便于迅速查寻变量的值。引用值:存储在heap中的对象,存储在变量处的值是一个指针,指向存储对象的内存处。引用值的大小会改变,所以放在栈中会降低变量查寻的速度。因此,放在变量的栈空间的值是该 对象存储在堆中的地址。地址的大小是固定的,存在栈中队变量性能无任何负面影响。
阅读全文
浙公网安备 33010602011771号