Javascript入门和TypeScrip入门

  学习js推荐阮一峰老师的网络电子书,免费绿色。js不是经过系统设计和各领域广泛使用的语言,而是随着浏览器应用开发在实践中流行起来的。那么手写一个方法,发起HTTP请求就是一个基本功。XMLHttpRequest这个对象在网络请求中有着举足轻重的地位。

   var postData = {
    "username": "13321503898",
    "password": "a123456",
    "imsi":"123455677"
    };
    var xhr = new XMLHttpRequest();
    xhr.open("POST", "http://139.199.156.43:9999/LK/login/loginByUsername", true);
    xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded");
    xhr.onreadystatechange = function(){
        var XMLHttpReq = xhr;
        /**
            XMLHttpReq.readyState
         0: 请求未初始化
         1: 服务器连接已建立
         2: 请求已接收
         3: 请求处理中
         4: 请求已完成,且响应已就绪
     动作:open,send *
*/ if (XMLHttpReq.readyState == 4) { if (XMLHttpReq.status == 200) { var data = XMLHttpReq.responseText; alert(data) console.log(data); var json = JSON.parse(JSON.parse(data)); }else if(XMLHttpReq.status == 100){ }else if(XMLHttpReq.status == 300){ }else if(XMLHttpReq.status == 400){ }else if(XMLHttpReq.status == 500){ }else if(XMLHttpReq.status == 0){ /** 0不是http协议的状态,关于XMLHttpReq.status的说明: 1、If the state is UNSENT or OPENED, return 0.(如果状态是UNSENT或者OPENED,返回0) 2、If the error flag is set, return 0.(如果错误标签被设置,返回0) 3、Return the HTTP status code.(返回HTTP状态码) 第一种情况,例如:url请求的是本地文件,状态会是0 第二种情况经常出现在跨域请求中,比如url不是本身网站IP或域名,例如请求www.baidu.com时 第三种,正常请求本站http协议信息时,正常返回http协议状态值 **/ } } }; xhr.send(JSON.stringify(postData));

   js中没有提供java中那么强大的collection类,但是其自身的数组还是很强大的,比如:

//4.将多维数组转化为一维数组
//这里有两个return语句,也就说明这里至少有两个函数。
let arr7 = [[0,1],[2,3],[4,[5,6,7]]] const newArr3 = function(arr){ return arr.reduce((pre,cur)=>{ return pre.concat(Array.isArray(cur)? newArr3(cur): cur) },[]) } console.log(newArr3(arr7));

   还有很多js特性,其设计有历史原因。学习js的方法,更多的是看别人代码,从中模仿学习。

js的计算属性
var name='nickName';
var obj{[name]:'liyong'};

  js中的Promise这个对象,使用与异步执行任务的。

  我们都知道js语法是非常灵活的,比如装饰器,使用装饰器,我们很容易给既有类添加新的方法。装饰器是什么东西呢?可以理解为一个以被修饰对象为参数的方法,

参考博客:https://es6.ruanyifeng.com

原文地址:https://www.cnblogs.com/Robin008/p/13628040.html