搜索
您的当前位置:首页正文

JavaScript相关记录

来源:二三娱乐
  1. construtor和super;this.functionName = this.functionName.bind(this)
    contrutor(props)和super(props)一般是要么不出现,要么同时出现,意义实际上就是继承,前者就是一个一般意义的构造函数,相当于es5里面的
    function FucntionName(props){
    this.props = props;
    }
    super (props)则是继承父类的属性。

2.state称为状态渲染机,

3.react+redux的主体流程:
(1)通过action获得model(数据),并将其作为state存储到store
(2)传递给react component,按照莫中设计呈现model数据,
(3)调用action发起update请求,从而调用reducer生成新的state存储到store中
(4)redux 通知react component重新render

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />

<meta name="viewport" content="width=device-width,inital-scale=1.0,minimum-scale=1.0,maximum-scake=1.0,user-scalable=no" />

<meta name="apple-mobile-web-app-capable" content="yes" />

<meta name="apple-mobile-web-status-bar-style" content="block" />

<meta name="fromat-detecition" content="telephone=no" />

<link rel="stylesheet" type="text/css" href="css/base.css" />

<link rel="stylesheet" type="text/css" href="css/content.css" />

<link rel="stylesheet" type="text/css" href="css/main.css" />
<title></title>
<script type="text/javascript" src="lib/jquery-1.8.2.min.js"></script>

<script type="text/javascript" src="lib/base.js"></script>
</head>
<body>
</body>
</html>

然后服务器返回下列,表示已经接受到请求,成功建立websocket
HTTP/1.1 101 Switching Protocols
Upgrade: websocket
Connection: Upgrade /告诉客户,已经成功切换协议啦/
Sec-Websocket-Accpet: HSmrc0sMlYUkAGmm5OPpG2HaGWk= /服务器/
Sec-Websocket-Protocol: chat

}

5.单页面应用
单页面应用利用js实现了页面的动态化,用户使用时基本感知不到网页是如何实现的,
react-router,让你的单页面应用支持页面的跳转以及动态渲染

function convert(source){
var tmp = {}, parent, n;
for(n in source){
var item = source[n];
if(item.ID == item.ParentID){
parent = item.ID;
}
if(!tmp[item.ID]){
tmp[item.ID] = {};
}
tmp[item.ID].Name = item.Name;
tmp[item.ID].ID = item.ID;
if(!('children' in tmp[item.ID])) {
tmp[item.ID].children = [];
}
if(item.ID!=item.ParentID){
if(tmp[item.ParentID]){
tmp[item.ParentID].children.push(tmp[item.ID]);
}
else {
tmp[item.ParentID] = {children:[tmp[item.ID]]};
}
}
}
return tmp[parent];
}

6.数组的方法
(1)splice()用于插入,删除或替换数组的元素
(2)for,map,forEach的区别?
传递给map()的函数应该有返回值,返回的是新数组;

8.正向代理?反向代理?

9.jquery的ajax
$(document).ready(function){
$('#b01').click(function(){
htmlobj = $.ajax({url: 'jquery/test1.txt',async:false});
$('#myDiv').html(htmlobj.responseText);
})
}

content-type,host,origin,referer,user-Agent,accept,
Accept-Encoding指定浏览器可以支持的web服务器返回内容压缩编码类型。
Accept-Language,connection,

11.JSONP请求?
function getJSONP(url, callback){
var cbnum = 'cb' + getJSONP.counter++;
var cbname = 'getJSONP.' + cbnum;

if (url.indexOf('?') === -1){
    url += '?=jsonp' + cbname;
}
else {
    url += '&jsonp' + cbname;
}
var script = document.createElement('script');
getJSONP[cbnum] = function(response){
    try{
        callback(response);
    }
    finally{
        delete.getJSONP[cbname];
        script.parentNode.removeChild(script);
    }
}
script.src = url;
document.body.appendChild(script);
Top