1.谈谈对JavaScript闭包的理解?
简单来说就是
作用域的应用:局部变量和全局变量。
在函数内部定义的变量,在函数的外部无法访问到,因此就说函数构成了一个闭包。
2.如何解决AJAX跨域调用问题?
两种方法:1.服务器端:在请求页面上使用Access-Control-Allow-Origin标头
header(
"Access-Control-Allow-Origin: http://www.abc.com"); //允许指定网站
header(
"Access-Control-Allow-Origin: *");//允许所有网站
2.jsonp
ajax.js文件:
<script type=
"text/javascript"
>
$.ajax({
dataType:
"jsonp"
,
url:
"http://www.b.com/b.php"
,
jsonp:
"callback"
,
success:
function
(data) {
$(
".info"
).text(
"uid:"
+ data.uid +
" name:"
+ data.name);
}
});
</script>
ajax.php文件:
<?php
$callback
= !
empty
(
$_GET
[
'callback'
]) ? trim(
$_GET
[
'callback'
]) :
''
;
if
(!
empty
(
$callback
)) {
$data
= json_encode(
array
(
'uid'
=> 1,
'name'
=>
'测试'
,
));
echo
"{$callback}({$data});"
;
}
3.AJAX异步和同步的区别是什么?
异步:这个AJAX代码运行中的时候其他代码一样可以运行。 同步:等待这个ajax代码运行完后再执行其他函数。通过 async:false参数设置,默认true(异步)。
4.谈谈对MVC的认识?
M(模型):数据的业务规则 V(视图):用户看到并与之交互的界面 C(控制器):接收用户数据调用模型和视图去完成用户需求。
总结:由模型发出要实现的功能到控制器,控制器接收组织功能传递给视图;
5.如何理解单一入口和多入口?
单一入口:web程序所有的请求都指向一个脚本文件。 多入口:通过访问不同的文件来完成用户请求。