ajax是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。
ajax的缺点:
1、ajax不支持浏览器back按钮
call和apply的区别
B.apply(A, arguments)
B.call(A, args1,args2
// A对象代替B对象
React中用classname代替class,因为class是保留字,代表类,会冲突
propTypes
JavaScript 是弱类型语言,所以请尽量声明 propTypes 对 props 进行校验,以减少不必要的问题。
function App(props) {
return <div>{props.name}</div>;
}
App.propTypes = {
name: React.PropTypes.string.isRequired,};
模块加载机制有哪些?es6中的module和其他机制有什么区别?
答案:
- 模块机制有amd,cmd和commonJs机制
- amd对应的实现是requireJs,cmd对应实现是Seals,CommonJs对应实现是nodeJs
(即
- amd和cmd针对的是浏览器端,而commonJs针对的是服务端
- amd是预加载,加载同时还会解析代码;(优点是快,缺点是加载顺序不固定,容易出问题,埋下大坑)
cmd是懒加载,加载后暂时不执行代码,需要时候再执行(优点是加载顺序可控,缺点是加载速度慢)
require和import的区别
require是amd的加载方式,import是es6中module的加载方式
require在文件任何时候都可以调用,但是import只能放在文件开头使用,因为它是编译时就调用,而require是在文件运行时调用
require的本质是将require的结果(其实就是各种对象,数字,函数等等)赋值给某个变量;而import的实质是依赖于node的一种将es6转码为es5的一种加载方式,import最终会被转码为require