国瑞个人博客
首页 > 技巧资源 > 常见问题解析

常见问题解析

常见问题解析

 2018年09月04日 作者: 国瑞个人博客 416次浏览

面试其实也是对自己实力的一种考验,也是对自己能力的一种验证,接下来我们就来看看我们在工作中经常会遇到的一些问题:

1、常见的跨域方式

1、jsonp跨域

JSONP(JSON with Padding:填充式JSON),应用JSON的一种新方法,
JSON、JSONP的区别:
 1、JSON返回的是一串数据、JSONP返回的是脚本代码(包含一个函数调用)
 2、JSONP 只支持get请求、不支持post请求
 (类似往页面添加一个script标签,通过src属性去触发对指定地址的请求,故只能是Get请求)

2、nginx反向代理:

www.baidu.com/index.html需要调用www.sina.com/server.php,可以写一个接口www.baidu.com/server.php,由这个接口在后端去调用www.sina.com/server.php并拿到返回值,然后再返回给index.html

3、PHP端修改header

header(‘Access-Control-Allow-Origin:*’);//允许所有来源访问
header(‘Access-Control-Allow-Method:POST,GET’);//允许访问的方式

2、jsonp是如何实现的

ajax请求受同源策略影响,不允许进行跨域请求,而script标签src属性中的链接却可以访问跨域的js脚本,利用这个特性,服务端不再返回JSON格式的数据,而是返回一段调用某个函数的js代码,在src中进行了调用,这样实现了跨域。
详情可以参考:https://blog.csdn.net/u011897301/article/details/52679486

3、Vue和Jquery的本质区别

这个问题你可以回答:Vue操作的数据,Jquery操作的是DOM,但是这并不是核心。
应该回答:Vue操作的是虚拟DOM,Jquery直接操作的DOM

4、列举出常见的异步方法

一、回调函数:这是异步编程最基本的方法。
1
2
3
4
5
6
7
8
9
function f1(callback){
 
    setTimeout(function () {
 
        // f1的任务代码
 
        callback();
 
    }, 1000);
二、事件监听
1
2
3
4
5
6
7
8
9
10
11
f1.on('done', f2);

function f1(){
 
    setTimeout(function () {
 
        // f1的任务代码
   
        f1.trigger('done');
 
    }, 1000);
三、发布/订阅(观察者模式)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
jQuery.subscribe("done", f2);


function f1(){
 
    setTimeout(function () {
 
        // f1的任务代码
 
        jQuery.publish("done");
 
    }, 1000);
 
}
四、Promises对象
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
f1().then(f2);

function f1(){
 
    var dfd = $.Deferred();
 
    setTimeout(function () {
 
        // f1的任务代码
 
        dfd.resolve();
 
    }, 500);
 
return dfd.promise;
 
}

参考资料:http://www.ruanyifeng.com/blog/2012/12/asynchronous%EF%BC%BFjavascript.html

5、如何给一个元素添加多个事件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    <button id="myBtn">1111</button>
</body>
</html>
<script>

var btn = document.getElementById("myBtn");
btn.addEventListener("click", function () {
    alert(1);
}, false);

btn.addEventListener("mouseout", function () {
    alert("Hello world");
}, false);

</script>

参考网址:http://www.runoob.com/jsref/met-element-addeventlistener.html

清除浮动的方法

一、给父级添加overflow:hidden
二、给父级添加边框
三、在父级下面添加这样一句话:
,意思为它的左右两边都不能够有浮动

待续……

1
待续……
百度已收录

点击快速分享:

以上就是国瑞前端个人博客带来的是《常见问题解析》,感谢您的观看!

如果没有特殊的说明,本文即为国瑞前端博客原创(www.huanggr.cn),欢迎读者转载并保留本站版权!https://www.huanggr.cn/530.html

「专业前端博客,如果觉得我的文章对您有用,请帮助本站成长」

赞( 24 ) 打赏

谢谢你请我吃鸡腿*^_^*

支付宝
微信
24

谢谢你请我吃鸡腿*^_^*

支付宝
微信
标签:

上一篇:

下一篇:

相关文章:

共有 0 条评论

博客简介

国瑞个人博客: https://www.huanggr.cn/,我们关注Web前端开发技术,web前端开发,移动前端开发,前端资讯,同时分享前端资源和工具等,期待你的参与,了解更多..

博主独立研发主题:

本站唯一QQ群

加入国瑞个人博客QQ群

本群为学习探讨群,主要和前端相关,欢迎广大前端(抱有学习目的均可)爱好者加入!广告请勿添加!

升级版本

web前端开发博客,基于vue脚手架制作的前端博客正在制作中,尽情期待,目前示例的代码位于此处

最新版本(尽请期待)-web前端开发博客

精彩评论

本站主要提供服务

二年web前端开发博客,本站专注提供web资源下载,技术问题解答,经验分享,也提供新手的web技术指导,二年前端个人博客,期待你的加入!

站点统计

  • 文章总数: 269 篇
  • 草稿数目: 50 篇
  • 分类数目: 26 个
  • 页面总数: 16 个
  • 评论总数: 216 条
  • 链接总数: 10 个
  • 标签总数: 104 个
  • 建站时间: 803 天
  • 注册用户: 659 人
  • 访问总量: 8780617 次
  • 最近更新: 2019年7月15日
-->