一份react-native面试题

1、下面打印出b的值是?if(true){let b = 2}  alert(b). 

let不存在变量提升,且作用域只在代码块,输出undefined

2、const name = 'jack'; const age = 20; const person = {[name] : true, [age] : true}.  person对象的两个key分别是什么

对象的key只能是字符串,'jack'和'20'

3、使用数组的reduce方法求和。

reduce函数对数组中的每一个值都会执行一次,接收四个参数,第一个是初始值,第二个遍历当前的值,第三个是当前值的索引,第四个是遍历的数组

4、reactJS中和子组件如何通信

一般是控制子组件的显示状态,可以用改变props,或者调用子组件的方法进行。子组件事件传递给父组件回调就好

5、reactJS兄弟组件之间如何通信

事件用DeviceEventEmitter、数据传递刷新等用Redux、数据库

6、传入setState函数的第二个参数作用是什么

set方法调用刷新完毕后回调

7、reactJS中如何去写组件

class Person extends Componment{}.   ...static propTypes ..... static defaultProps

8.下面的输出结果是?

一份react-native面试题_第1张图片

箭头函数初始化时就绑定了作用域,为foo函数的代码块,所以输出为foo

9、使用es6的class封装一个Car对象,有name和color两个属性,以及一个print方法,实现以下结果:

let myCar = new Car('奇瑞','红色');

myCar.print(); // 打印出汽车名称:奇瑞 颜色:红色

一份react-native面试题_第2张图片

10、略

11、完成isNumber函数,返回Promise对象给调用者。isNumber(num){coding....}

12、使用async、await以及Promise实现调用asyncPrint函数后可以指定多少毫秒后打印出传入的值,比如asyncPrint('hello',500),实现500ms后输出hello

一份react-native面试题_第3张图片

13、reactJS在生命周期中哪一部调用AJAX请求?

ComponentDidMount

14、reactJS的props.children.map函数来遍历会收到异常提示,为什么?应该如何遍历?

 this.props.children 的值有三种可能:如果当前组件没有子节点,它就是 undefined;如果有一个子节点,数据类型是 object ;如果有多个子节点,数据类型就是 array 。系统提供React.Children.map()方法安全的遍历子节点对象


你可能感兴趣的:(【HTML5+CSS3点滴知识,】,】)