随笔分类 -  javascript

HTML5 File API解读
摘要:1,概述 Web应用应该具备处理广泛用户输入问题的能力,例如在Web富应用中,用户希望上传文件到服务器。File API定义了访问文件的基本操作途径,包括文件、文件列表集、错误处理等,同时,File API还定义了描述文件异步处理进程中的一些元数据。接下来,我们一起看看File的应用。2,File... 阅读全文

posted @ 2015-01-23 18:17 wenber 阅读(1922) 评论(0) 推荐(1)

关于jquery.noConflict()的学习记录
摘要:今天无意中看到了jquery.noConfict()的实现方法代码如下:var// Map over jQuery in case of overwrite_jQuery = window.jQuery,// Map over the $ in case of overwrite_$ = windo... 阅读全文

posted @ 2014-09-11 21:15 wenber 阅读(308) 评论(0) 推荐(0)

[js方法pk]之instanceof() vs isPrototypeOf() hasOwnProperty() vs propertyIsEnumerable()
摘要:这几个方法在js的高级编程中经常用到,对于新手来说可能还不知道他们有什么区别,我把我的体会总结下来,供大家参考:首先,定义一个对象: 1 function Parent() {this.name = "wenbo";} 2 Parent.prototype.alertP = function() { 3 alert("Parent"); 4 } 5 6 function Child() {this.age = 23;} 7 Child.prototype.alertC = function() { 8 alert("Child"); 阅读全文

posted @ 2014-04-09 14:55 wenber 阅读(1110) 评论(1) 推荐(3)

你所不知道的javascript数组特性
摘要:工作中,我们经常使用js的数组,但是,下面的东西你见过吗?1,文本下标:1 var a=[];2 a[-1]=1; 你想过数组的下标为负数的情况吗?我们对数组的下标规定从0开始。但是上面那么写也还是可以的。不过,请看:1 console.log(a.length); //02 console.log(a[-1]); // 13 console.log(a["-1"]);//14 a.hasOwnProperty(-1); //true这个说明此处还是以对象的属性存储的。2,二维数组:1 var a = [];2 a[0,0]=1;3 a[0,1]=2;4 a[1,0]=3; 阅读全文

posted @ 2014-04-03 18:56 wenber 阅读(1089) 评论(2) 推荐(1)

javascript中的装箱和拆箱操作
摘要:1,装箱:把基本数据类型转换为对应的引用类型的操作称为装箱,把引用类型转换为基本的数据类型称为拆箱。在《javascript高级程序设计》中有这样一句话:每当读取一个基本类型的时候,后台就会创建一个对应的基本包装类型对象,从而让我们能够调用一些方法来操作这些数据。var s1 = "some text";var s2 = s1.substring(2);如上所视,变量s1是一个基本类型值,它不是对象,所以它不应该有方法。但是js内部为我们完成了一系列处理(即我们称之为装箱),使得它能够调用方法,实现的机制如下:(1)创建String类型的一个实例;(2)在实例上调用指定的方 阅读全文

posted @ 2014-04-02 11:27 wenber 阅读(6133) 评论(1) 推荐(1)

javascript中的垃圾回收
摘要:1引用计数垃圾回收核心:跟踪记录对象被引用的次数。思路是如果一个对象A被赋值给了一个变量v,则该对象A的引用计数值加1,如果变量v又被赋予其他值了,比如a="str",则该对象A的引用计数值减1.当这个引用计数值变成0时,就表明它所占的内存空间可以被回收了。1 var A={b:4};2 var v=A;//此时A的引用计数值为13 var vv=A; //此时A的引用计数值为24 v=9;//A的引用计数值为15 vv="hah";//A的引用计数值为0,当垃圾收集器下次运行时,A就被回收如果出现了循环引用:1 var A={b:4,c:null};2 阅读全文

posted @ 2014-04-01 15:36 wenber 阅读(1075) 评论(1) 推荐(0)

javascript中的类方法、构造方法、原型方法的对比
摘要:如果你已经接触js很久了,那么应该可以看看我总结的是否正确,如果你刚开始学习,那么通过我的总结,你可以更快的区别他们,记得我刚接触js时,这一块反正是模糊了很久!1,长相的区别:1 function Class(){ //声明一个类2 this.constructMethod = function(){}; //添加构造构造方法3 };4 Class.classcMethod = function(){}; //添加类方法 5 Class.prototype.protocMethod=function(){};//添加原型方法2,用法的区别:1 Class.classMet... 阅读全文

posted @ 2014-03-31 19:17 wenber 阅读(1593) 评论(1) 推荐(1)

javascript原型继承中的两种方法对比
摘要:在实际的项目中,我们通常都是用构造函数来创建一个对象,再将一些常用的方法添加到其原型对象上。最后要么直接实例化该对象,要么将它作为父类,再申明一个对象,继承该父类。而在继承的时候有两种常用方式,今天我们就来稍作探讨1 //父类2 function Person(name){3 this.name = name;4 };5 6 // 子类7 function Student(sex){8 Person.apply(this,arguments); //继承父类的构造函数9 this.sex=sex;10 };1,继承Prototype:1 Student.prototy... 阅读全文

posted @ 2014-03-30 10:55 wenber 阅读(1063) 评论(2) 推荐(0)

四道腾讯的javascript面试题
摘要:今天整理自己的文件夹时,发现了曾经面试腾讯实习生时的被问挂了的面试题,我将它们整理好了供大家借鉴。当时要求的是手写代码。汗啊,我那时弱爆了!1,将给定数组转换为一个随机数组 1 Array.prototype.shuffle=function(){ 2 var resultArr=[]; 3 var len=this.length; 4 5 while(len){ 6 var _index=parseInt(Math.random()*len); 7 resultArr.push(this... 阅读全文

posted @ 2014-03-29 21:34 wenber 阅读(1440) 评论(4) 推荐(0)

从javascript的循环问题来看待闭包本质
摘要:第一次接触这个问题还是在我刚开始学js的时候,当时就是一头雾水,时隔一年多了,突然又想起了这个问题,在这个春气盎然的周末,我就坐下来研究下并把结果和大家分享下;先看代码:demo.html 1 2 3 4 5 闭包循环问题 6 9 10 11 段落0 12 段落1 13 段落2 14 段落3 15 段落4 16 17 26 27 每次循环就为对应的编号段落上添加一个click事件,事件的回调函数是执行一个alert();如果你以前没这么用过的话,估计也会认为单击某个段落就会弹出这个段落相应的编号0,1,2,3,4。但实际上是都是弹出5;网上已经有很多讨论的博客了,他们给出了很... 阅读全文

posted @ 2014-03-29 13:22 wenber 阅读(1233) 评论(4) 推荐(0)

让你的javascript代码高大上
摘要:1,创造简短的写法你可以这么写:1 var slice = Array.prototype.slice;2 slice.call(arguments); //转化成数组也可以这么写:(ie9+)1 var unboundSlice = Array.prototype.slice; 2 var slice = Function.prototype.call.bind(unboundSlice);3 slice(arguments);//转化成数组还可以这么写:1 (function(slice){2 slice(); //可以直接调用该方法3 })(Array.prototype... 阅读全文

posted @ 2014-03-28 12:09 wenber 阅读(2208) 评论(9) 推荐(8)

谈谈contentWindow 和contentDocument以及 iframe
摘要:1,contentWindow:是用来获取子窗口的window对象的,它兼容各大浏览器,用法如下document.getElementById("iframeId").contentWindow 这样简单的一句就得到了iframe包含页面的window对象;2,contentDocument:是用来获取子窗口的document对象的,主流浏览器都支持和ie8+支持,用法如下document.getElementById("iframeId").contentDocument这样简单的一句就得到了iframe包含页面的document对象;以上两种方法是在 阅读全文

posted @ 2014-03-27 17:11 wenber 阅读(2886) 评论(0) 推荐(0)

js中的执行环境和作用域链
摘要:首先介绍一些即将用到的概念:执行环境:它定义了变量和函数有权访问其他数据的范围,每一个执行环境都有一个与之关联的变量对象,环境中定义的所有变量和函数都保存在这个变量对象中。所有javascript代码都是在一个特定的执行环境中被执行的,当调用一个javascript函数时,就会创建相应的执行环境,如果又调用另外一个函数,则又会创建一个新的执行环境,当调用函数返回后,执行过程会返回原始的执行环境,所以javascript的执行环境明显是按照栈的形式存储,即这一系类的执行环境构成了一个执行环境栈。在函数执行完成之后,栈将其环境弹出,把控制权返回给之前的执行环境。函数一旦执行完成,则该环境被撤销,其 阅读全文

posted @ 2014-03-27 12:13 wenber 阅读(383) 评论(0) 推荐(0)

js的预解析
摘要:1,js是顺序执行的,下面这个大家肯定没有异议test();// 哈哈function test(){ alert("哈哈"); }但是在C语言中,这样就不行了,C语言要求函数必须先声明后调用,那是什么原因让js有如此能力先调用而后声明了?ok,这说明js肯定是在调用函数之前就将函数放入内存中了,这种简单的机制就是我们今天要说的---js预解析2,变量的预解析,看如下代码alert(a);//undefinedvar a="test";和函数声明一样,变量的声明也会在一开始就被放入内存中了,但是并没有赋值,所以在它赋值之前,它的值就是undefined; 阅读全文

posted @ 2014-03-26 19:15 wenber 阅读(2321) 评论(3) 推荐(3)

js笔试题一套(未完待续)
摘要:1.下面程序的运行结果是:function test(x, y, z) { alert(test.length); alert(arguments.length); alert(arguments.callee === test); alert(arguments[2]);}test(10, 20);A.2,3,true,0B.3,3,false,20C.3,2,true,undefined D.2,3,false,10分析:test.length是返回的函数的形参个数,所以为3; arguments.length返回的是函数调用时的实参个数,所以为2; arguments.... 阅读全文

posted @ 2014-03-26 18:09 wenber 阅读(1620) 评论(0) 推荐(0)

使用setTimeout 来实现setInterval的效果
摘要:直接上代码,实现的核心就是在延时的情况下递归的调用自己, 1 x=0 2 y=-1 3 4 function countMin( ) 5 { y=y+1 6 document.displayMin.displayBox.value=y 7 var timer=setTimeout("countMin( )",60000) 8 } 9 function countSec( )10 { x = x + 111 z =x % 6012 document.displaySec.displayBox.value=z13 var timer = setTimeout("cou 阅读全文

posted @ 2014-03-26 17:58 wenber 阅读(1195) 评论(0) 推荐(0)

ie6 ie7下报脚本错误"Expected identifier, string or number" 的原因和解决方法
摘要:在IE6和ie7里面,脚本报错"Expected identifier, string or number"写下这个是个之前我已经很头疼了,因为我的代码在其他浏览器里都是正常的,唯独在ie6和ie7里始终要报错,经过反复尝试,终于找到了问题原来在我的一个对象中,最后一个字段多加了一个逗号,var cardTypeMap = { "护照": "PP", "回乡证": "HX", "台胞证": "TB", "港澳通行证": "GA 阅读全文

posted @ 2014-03-25 19:27 wenber 阅读(919) 评论(0) 推荐(0)

导航