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多方面知识点,满满都是干货-建议收藏阅读 前言 如果这篇文章有帮助到你,️关注+点赞️鼓励一下作者,文章公众号首发,关注 前端南玖 ...
随机推荐
- [Qt5] How to connect c++ with QML
Qt5处于过度阶段,架构繁琐,学习成本不低.尤其是UI代码竟然被重写,变了天. Qt中的c++可能是连接OPENCV与QML的一个不错的桥梁,在此学习这部分实用的技术. Reference: http ...
- 在使用androidStudio中所遇到的错误
错误如下所示 Error:Execution failed for task ':app:processDebugResources'.> com.android.ide.common.proc ...
- Windows 下搭建 Ruby 开发环境
1.从http://rubyinstaller.org/downloads/下载“rubyinstaller-2.1.5-x64.exe”. 2. 双击下载的程序进行安装,勾选如下图的选项.默认安装目 ...
- Azure REST API (2) Azure Storage
<Windows Azure Platform 系列文章目录> 注意:本文适用于国内由世纪互联运维的Azure China. 本文将会介绍如何使用REST API来直接访问Storage ...
- Windows Server 2012上PHP运行环境搭建的简易教程(Win08适用)
微软的Windows Server 2012发布后,第一时间进行了简单的试用,非常不错,特写了个简易的PHP环境搭建教程.先来欣赏下Win2012的登录界面吧第一步我们需要安装IIS81.点击任务栏最 ...
- 分享使用Entity Framework的一个坑:Include无效
如果不想延迟加载,可以通过设置:context.Configuration.LazyLoadingEnabled = false;或查询时加上AsNoTracking()方法即可. 如果不想生成代理, ...
- ASP.NET MVC必知必会知识点总结(二)
一.实现Controller的依赖注入: 1.自定义继承DefaultControllerFactory 类的控制器工厂类并重写GetControllerInstance方法:(如:InjectCon ...
- LeetCode - 52. N-Queens II
52. N-Queens II Problem's Link --------------------------------------------------------------------- ...
- C# ~ NUnit单元测试
单元测试 单元测试(Unit Test)的一个测试用例(Test Case)是一小段代码,用于测试一个小的程序功能的行为是否正常,保证开发的功能子项能正确完成并实现其基本功能.一个单元测试是用于判断某 ...
- CodeSnippet.info 开源说明 和 环境搭建 (第一版)
Github开源声明 本网站的代码开源,开源的目的如下 技术分享 希望业内同行贡献代码 希望能够让网站更加安全 开源地址: CodeSnippet开源地址 关于代码贡献 任何人都可以贡献代码,一般在 ...