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多方面知识点,满满都是干货-建议收藏阅读 前言 如果这篇文章有帮助到你,️关注+点赞️鼓励一下作者,文章公众号首发,关注 前端南玖 ...
随机推荐
- HDU 1024Max Sum Plus Plus(最大m字段和)
/* 动态转移方程:dp[i][j]=max(dp[i-1]+a[i], max(dp[t][j-1])+a[i]) (j-1<=t<i) 表示的是前i个数j个字段和的最大值是多少! */ ...
- Oracle Dataguard之物理standby的基本配置
尽管网上有很多Oracle Dataguard的配置教程,但不难发现,很多采用的是rman duplicate这种方法,尽管此种方法较为简便.但在某种程度上,却也误导了初学者,虽说也能配置成功,但只知 ...
- Prim算法(二)之 C++详解
本章是普里姆算法的C++实现. 目录 1. 普里姆算法介绍 2. 普里姆算法图解 3. 普里姆算法的代码说明 4. 普里姆算法的源码 转载请注明出处:http://www.cnblogs.com/sk ...
- PHP的学习--PHP的引用
引用是什么 在 PHP 中引用意味着用不同的名字访问同一个变量内容.这并不像 C 的指针,替代的是,引用是符号表别名.注意在 PHP 中,变量名和变量内容是不一样的,因此同样的内容可以有不同的名字.最 ...
- 原生JS编写的照片墙效果实例演示特效
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- PhoneGap在iOS开发下的注意事项
敏捷个人应用主要是在Andorid下开发,发布的也主要是Andorid.之所以没有急着退出iOS版本,主要是因为开发iOS需要iOS的开发环境,发布还需要开发者账号,这些都需要资源或钱.而最近越来越多 ...
- 【模式匹配】KMP算法的来龙去脉
1. 引言 字符串匹配是极为常见的一种模式匹配.简单地说,就是判断主串\(T\)中是否出现该模式串\(P\),即\(P\)为\(T\)的子串.特别地,定义主串为\(T[0 \dots n-1]\),模 ...
- JVM Tomcat性能实战
本节只是介绍实战部分,具体的理论参数,请自行百度. 所需工具:linux服务器 Jmeter测试工具 xshell 一个web应用 Tomcat的JVM参数可以配置在catalina.sh,如 ...
- Sql去重语句
海量数据(百万以上),其中有些全部字段都相同,有些部分字段相同,怎样高效去除重复? 如果要删除手机(mobilePhone),电话(officePhone),邮件(email)同时都相同的数据,以前一 ...
- C# 日志的配置流程
1. 下载log4net.dll文件 http://download.csdn.net/detail/abc456456456456/7653857 2. 项目中引用此dll 3. appconfig ...