JAVASCRIPT中经典面试题
//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());//
console.log(n);//
/*作用域和作用域链*/
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();//
/*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));//
/**/
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
JAVASCRIPT中经典面试题的更多相关文章
- JavaScript之经典面试题
1.作用域经典面试题 var num = 123; // f1函数写好了,作用域就定下来了,也就是作用域链定下来了 // f1函数作用域链: f1函数作用域 ==> 全局作用域 function ...
- JavaScript中经典方法
jQuery()通过name名称获取当前name中value数组 /** 获取input中name属性相同的 value数组 */ function my_array_name(m){ var val ...
- javascript中经典继承的兼容写法
function create(obj) { // 2.1 判断浏览器支持不支持 Object.create // 如果支持,直接使用 Object.create // 如果不支持,自己实现 if(O ...
- JavaScript经典面试题(二)
前言: 近年来T行业就业者越来越多,有关于编程行业的高薪工作也变得越来越难找,竞争力越来越大,想要在众多的应聘者当中脱颖而出,面试题和笔试题一定要多加研究和琢磨,以下记录的是自己的面试过程之中遇到的一 ...
- 学习Javascript闭包(Closure)及几个经典面试题理解
今天遇到一个面试题,结果让我百思不得其解.后来在查阅了各种文档后,理清了来龙去脉.让我们先来看看这道题: function Foo( ){ var i = 0; return function( ){ ...
- 深入浅出经典面试题:从浏览器中输入URL到页面加载发生了什么 - Part 3
备注: 因为文章太长,所以将它分为三部分,本文是第三部分. 第一部分:深入浅出经典面试题:从浏览器中输入URL到页面加载发生了什么 - Part 1 第二部分:深入浅出经典面试题:从浏览器中输入URL ...
- 【ASP.NET Core】EF Core - “影子属性” 深入浅出经典面试题:从浏览器中输入URL到页面加载发生了什么 - Part 1
[ASP.NET Core]EF Core - “影子属性” 有朋友说老周近来博客更新较慢,确实有些慢,因为有些 bug 要研究,另外就是老周把部分内容转到直播上面,所以写博客的内容减少了一点. ...
- JavaScript设计模式经典-面向对象中六大原则
作者 | Jeskson来源 | 达达前端小酒馆 1 主要学习JavaScript中的六大原则.那么六大原则还记得是什么了吗?六大原则指:单一职责原则(SRP),开放封闭原则(OCP),里氏替换原则( ...
- 20道JavaScript经典面试题
该篇文章整理了一些前端经典面试题,附带详解,涉及到JavaScript多方面知识点,满满都是干货-建议收藏阅读 前言 如果这篇文章有帮助到你,️关注+点赞️鼓励一下作者,文章公众号首发,关注 前端南玖 ...
随机推荐
- 深入理解CSS定位中的偏移
× 目录 [1]定位 [2]包含块 [3]偏移属性[4]绝对定位[5]格式化 [6]auto 前面的话 CSS有三种基本的定位机制:普通流.浮动和绝对定位.利用定位,可以准确地定义元素框相对于其正常位 ...
- tomcat触发ServletContext初始化监听事件的源码(原创)
tomcat 8.0.36 知识点: 动态监听器的好处可以根据环境条件进行选择性添加. 静态监听器有七类. ServletContextAttributeListener ServletRequest ...
- 必应词典3.2去广告备忘笔记(转摘于roustar31)
下载安装包后,沙盘运行,得到本体BingDict_Setup.msi文件,起作用的就是这个,其他的无视了.使用命令行参数:msiexec /a "d:\BingDict_Setup.msi& ...
- [译]对 AngularJS 模板的A/B测试
编者按:本文翻译自 Andrei Bondarev 在 Medium 上发布的"A/B Testing your AngularJS Templates ",Andrei 是一名工 ...
- 使用Javascript监控前端相关数据
项目开发完成外发后,没有一个监控系统,我们很难了解到发布出去的代码在用户机器上执行是否正确,所以需要建立前端代码性能相关的监控系统. 所以我们需要做以下的一些模块: 一.收集脚本执行错误 functi ...
- Datatables 在asp.net mvc中的使用
前言 最近使用ABP(ASP.NET Boilerplate)做新项目,以前都是自己扩展一个HtmlHelper来完成同步/异步分页,但是有个地方一直不满意,排序太费劲. 以前接触过一点点的Datat ...
- form上传文件以及跨域异步上传
要设置了enctype属性才能上传,需要使用上传的jar包,这里使用的是cos-26Dec2008.jar, 而且后台获取值的时候,getfile要放在第一位 一次设置好上传格式后没有上传文件,也就没 ...
- CNN 笔记3
- HashMap的resize和Fail-Fast机制
1.HashMap的resize(rehash): 当HashMap中的元素越来越多的时候,hash冲突的几率也就越来越高,因为数组的长度是固定的.所以为了提高查询的效率,就要对HashMap的数组进 ...
- 矢量化的HTML5拓扑图形组件设计
HT一直被客户称道的就是其全矢量化的设计特色,矢量相比传统图片好处太多了: www.hightopo.com/guide/guide/core/vector/ht-vector-guide.html ...