JAVASCRIPT中经典面试题
2015-12-15 22:48
691 查看
//1、try catch finally中的return var n=1; function fun(){ try{ n++; m++;//报错 return n; }catch(err){ n++; return n; }finally{ n++; //return n; } } console.log(fun());//3 console.log(n);//4
/*作用域和作用域链*/ var n=10; function fun(n){ n--; console.log(n); } console.log(fun(n)); //9 console.log(n); //10
/*new Function*/ var i=5; function fun(){ var i=4; //var f1=new Function("console.log(i)"); var f1=function(){console.log(i);}; console.log(f1); f1(); } fun();//4
/*callback 与 this*/ var o={ n:1, fun:function(){ var self=this;//留住this console.log(self.n++); setTimeout(function(){ self.fun(); },1000); } } o.fun();//this-->o
/*DOM中的闭包问题*/ function fun(){ var li=document.getXX...; btn.onclick=function(){ li.xx=xx; }//li将永远无法释放,即使刷新页面也不行 }
/*引用类型的共有属性*/ function Student(){} Student.prototype.arr=[]; var lilei=new Student(); var hmm=new Student(); lilei.arr.push(1);//this[this.length]=1 hmm.arr[1]=2; console.log(lilei.arr);//[1,2] console.log(hmm.arr);//[1,2]
/*继承父类型共有方法*/ function Student(){} Student.prototype=[]; var lilei=new Student(); lilei.push(1);//this[this.length]=value; var hmm=new Student(); hmm.push(2); console.log(lilei); console.log(hmm);
/*私有属性,公有属性*/ function Student(){ var prop="私有属性";//私有属性 this.prop="公有属性"; //公有属性 var fun=function(){//私有方法 console.log("调用私有方法"); console.log(prop); } this.fun=function(){//公有方法 console.log("调用公有方法"); fun();//this-->window console.log(prop); console.log(this.prop); } } var lilei=new Student(); lilei.fun();//公有
//阻碍事件 for(var i=0;i<3;i++){ setTimeout(function(){ console.log(i); },10) } alert("hello");
function MyObj(){ this.p.pid++; } MyObj.prototype.p={"pid":0}; MyObj.prototype.getNum=function(num){ return this.p.pid+num; } var obj1=new MyObj(); var obj2=new MyObj(); //p.pid=2 console.log(obj1.getNum(1)+obj2.getNum(2));//7
/**/ function fun(n,o){ console.log(o); return {fun:function(m){ return fun(m,n); } } } var a=fun(0);//undefined //a-->{fun:function(m){return fun(m,n)}} a.fun(1); a.fun(2); a.fun(3); //0 0 0 var b=fun(0).fun(1).fun(2).fun(3); //0 1 2 var c=fun(0).fun(1); c.fun(2);c.fun(3); //0 1 1
相关文章推荐
- js数组对象
- bower解决js的依赖管理
- javascript大神修炼记(2)——运算符
- js判断手机访问或者PC的几个例子(常用于手机跳转)
- ArcGIS_API本地部署步骤详解
- jsonp
- gson解析json字符串学习笔记...
- jstl 的一些随笔
- js浏览器窗口大小改变时事件
- ASP.NET C#+Ajax+json无刷新分页参考
- 【Javascript】卸载事件(onunload)
- JSON转List
- javascript(二):DOM
- 【JavaScript.3】抓好Date()总结工作,玩转JS各种时空
- #学习笔记#(19)H5画布橡皮擦游戏-JS
- json存储数据与解析方式
- Mousetrap - Keyboard shortcuts in Javascript
- JSON.stringify 语法实例讲解
- [Servlet&JSP] 封装器的使用
- javascript性能