javaScript简单编程

  学习js推荐阮一峰老师的网络电子书,js不是经过系统设计和各领域广泛使用的语言,而是随着浏览器应用开发在实践中流行起来的,主要运行在浏览器端,操作dom对象。在浏览器端,有很多对象,比如window, document, console等,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 (xhr.readyState == 4) { if (xhr.status == 200) { var data =xhr.responseText; alert(data) console.log(data); var json = JSON.parse(JSON.parse(data)); }else{
         // 发生错误
  console.log("error:",xhr);
        } } };
  // 真正发起请求,有点啰嗦 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语法是非常灵活的,比如装饰器,使用装饰器,我们很容易给既有类添加新的方法。装饰器是什么东西呢?可以理解为一个以被修饰对象为参数的方法,

  nodejs中的js代码不总是能在浏览器端执行,因为没有相关的库,比如下面代码:

<!DOCTYPE html>

<header>

</header>

<body>
    <h1>this is header</h1>
    <script>
        // 浏览器报没有reuire
        var events = require("events");

        var event = new events.EventEmitter();
        event.on('someEvent', function (arg1, arg2) {
            console.log('listener2', arg1, arg2);
        });
        event.emit('someEvent', 'arg1 参数', 'arg2 参数');
    </script>
</body>

  

  自己写了es6代码,然后使用node命令执行,但是报错,查阅了很多博文,没有答案。后来看到博文说:ES6的模块化代码无法在Node.js中执行。

    但是nodejs -v14及以上版本就可以,需要升级nodejs版本

  这就涉及到es5和es6的差别。

 

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

posted @ 2020-09-07 17:25  懂得了才能做一些改变  阅读(146)  评论(0编辑  收藏  举报