WarpPrism / Blog

Do Epic Things
51 stars 8 forks source link

珍爱网2017春前端笔试题 #27

Open WarpPrism opened 7 years ago

WarpPrism commented 7 years ago

跨域请求如何发送cookie

服务端修改返回头:

response.setHeader('Access-Control-Allow-Credentials', true);
response.setHeader('Access-Control-Allow-Origin', 'other-domain.com'); // 不能设置为*

前端:

$.ajax({
    type: 'get/post',
    url: 'url',
    async: true,
    xhrFields: {withCredentials: true},
    crossDomain: true
});
// 原生js
xhr.withCredentials = true;
//withCredentials属性用于跨域请求中允许携带凭据信息

grid布局

用HTML+CSS实现如下样式布局:

codepen demo

ajax请求中get和post的区别

参考

如何判断一个Object是否为空

// jQuery isEmptyObject()
function isEmptyObject(e) {  
    var t;  
    for (t in e)  
        return !1;  
    return !0;
}  
// 第二种
var obj = {};
if (JSON.stringify(obj) == '{}')
    return true;

写一个闭包的例子

// 单例模式
var singleton = function(fn) {
    var obj;
    return function() {
        console.log(this, arguments);
        return obj || (obj = fn.apply(this, arguments));
    }
}

var createMask = singleton(function() {
    return document.body.appendChild(document.createElement('div'));
});
console.log(createMask());
// 例二
var lis = document.querySelectorAll('ul.test li');
for (var i = 0; i < lis.length; i++) {
    lis[i].onclick = (function(ii) {
        return function() {
            console.log(ii);
        };
    })(i);
}