近期面试的两家公司所遇到的面试题

以下是我在面试的时候遇到的面试题,当然这个就是面试题,如果做笔试的话,大家还是去其他地方看看吧
PS:我会不定期更新一些我面试当中遇到的面试题,因为网上那些面试题也太乱了,有时候看的累, 但也不保证全部正确

JS如何判断一个变量为数组?

方式1: 推荐

var obj = Object.prototype.toString
    obj.call("aaa")  //-> 输出[Object String]
    obj.call(1111)  //-> 输出[Object Number]
    obj.call(true)  //-> 输出[Object Boolean]
    obj.call([])  //-> 输出[Object Array]
    obj.call({})  //->  输出[Object Object]
    obj.call(null) //-> 输出[Object Null]
    obj.call(undefined) //-> 输出[Object Undefined]
    obj.call(function(){}) //-> 输出[Object Function]

方式2:不可判断 null 和 undefined

"aaa".constructor === String  // => true
[].constructor === Array  // => true
var n = 123;
n.constructor === Number  // => true
true.constructor === Boolean  // => true
var obj = {};
obj.constructor === Object  // => true
function fn () {}
fn.constructor === Function  // => true

方式3:使用 instanceof 不推荐

两个数组如何把相同的值存放在一个新的数组当中?例如:var a = [1,2,3,4,5], b = [ 2,3,4,7,8,9 ];

实现代码:

function arr( arr1, arr2){
    var n = [];
    for( var i in arr1 ){
        for(var j in arr2){
            if( arr1[i] == arr2[j] ){
                n.push( arr1[i],arr2[j] );
            };
        };
    };
    return n;
}
arr( a , b );

JS如何实现继承?

子类.prototype = new 父类();

具体实现代码:

//父类
function Person(name,age){
    this.name = name;
    this.age = age;
};
Person.prototype.showName = function(){
    return this.name;
};
Person.prototype.showAge = function(){
    return this.age;
};
//子类
function Worker (name,age){
    Person.apply( this, arguments )
};
Worker.prototype = new Person();
var w1 = new Person('aaa',10);
alert( w1.showName() );

对闭包的理解

解析:闭包就是能够读取其他函数内部变量的函数。
特点:
( 1 ) 闭包外层是一个函数。
( 2 ) 闭包内部都有函数。
( 3 ) 闭包会return内部函数。
( 4 ) 闭包返回的函数内部不能有return(因为这样就真的结束了)。
( 5 ) 执行闭包后,闭包内部变量会存在,而闭包内部函数的内部变量不会存在。

简单说就是,定义一个函数,内部定义一个局部变量,再在内部定义一个函数,内部函数使用外部函数定义的局部变量,然后进行返回使用的外部变量,外部函数再次返回内部函数的函数体

闭包这个需要大篇幅说明,这里只是怎么能让面试官快速知道你对闭包很了解的简要说明。

如果想深入研究请大家自行百度,我也不能为大家推荐什么好的文章,毕竟每个人看待的东西不一样。

自己写个json,然后存放在window.localStorage中,怎么实现。

直接上代码:

//Json对象
var oJson ={ a: 10,b:20,c:'sss' } ; 
//json对象转字符串json    
oJson = JSON.stringify( oJson );
//用localStorage的setItem方法把值存进去
localStorage.setItem('oJson', oJson);       
//使用
//用getItem方法获取存的值   
var oj = localStorage.getItem('oJson'); 
//把字符串josn转为真正的Json 
oj = JSON.parse( oj );              
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值