鵝廠前端面試
1.有代碼如下
function test2(){
return 25;
};
console.log(typeof test2())
問題:寫出此時打印出的值
number
2.現有代碼如下:
var name='aaa';
var obj={
name:'bbb',
dose:function(){
this.name='ccc';
}
};
var does=obj.dose;
does();
console.log(obj.name);
問題:寫出此時打印的值
bbb
3.現有代碼如下:
var a = 1;
var obj = {};
var fn=function(){};
function test(x,y,z){
x.a = 4;
y.b = 5;
z.c = 6;
return z;
}
test(a,obj,fn);
console.log(a+obj.b+fn.c);
問題:寫出此時打印出的值,與嚴格模式下會出現的問題。
12,
4.現有如下代碼:
var a=[1,2,3]; var b=a; b.push(4); console.log(a);
問:此刻a的值?若a的值是[1,2,3],則第二行代碼如何優化?
a的值是[1,2,3,4]
5.編寫一個函數向http://api.qq.com/api/query接口請求數據,並通過返回的數據判斷調用是否成功(返回的數據格式與調用方式不限),請列出所有可行的方案。
6.寫一個函數可以實現將數字類型的值格式化為千分位,並保留兩位小數,如12345678.145可以格式化為123,456,789.14 , 112345678.156可以格式化為1,123,456,789.16 。
8.給出運行結果。
var someText='Web2.0'; pattern=/(\w)(\d)\.(\d)/i; utCome=pattern.exec(someText); alert(utCome);
b2.0,b,2,0
9.寫出下列程序運行結果。
import React from 'react';
class Test extends React.Component<any,any>{
state={
count:0,
}
componentDidMount(){
this.setState({
count:this.state.count+1,
})
this.setState(preState=>{
return{count:preState.count+ 1 }
})
}
render(){
const{count}=this.state
console.log(count)
return<div>{count}</div>
}
}
10.用react實現一個confirm確認對話框組件,要求能夠在大部分場景實現復用。
11.簡述一下redux或vuex的工作流程。
