node.js代码 行云流水


npm install -g http-server
http-server


npm install -g live-server
live-server

或者vscode打开 open with live-server

开发的时候推荐后者

一、 
console.log("hello node.js") 
for(var i in console){ 
console.log(i+" "+console[i]) 

node example.js。 

二、

建立项目

npm init 

全局安装

cnpm install -g babel-cli

项目的依赖(预设环境)

cnpm install --save-dev babel-preset-env

--save-dev 添加开发依赖,  --save 运行依赖,以后bundle会去掉依赖上生产环境

bable说明文件(把日语翻译成鸟语,还是把鸟语翻译成)(指导文件)

  rename a.txt  .babelrc

  {

    options: {

       presets : ["env"]

    }

   }

然后运行

bable 1.js. -o 01.js 

就能将文件翻译成功;

三、闭包 

函数定义时候,会记住上下文环境和内部方法。执行的时候,回去到自己定义的上下文中运行。

记住了:var i=0;   记住了内部代码 i++;

运行的时候直接去做了,很单纯,没有啥想法。

四、curry用处

//update会返回一个函数,这个函数可以设置id属性为item的web元素的内容

      function update(item){

            return function(text){

                  $("div#"+item).html(text);

            }

      }

      //Ajax请求,当成功是调用参数callback

      function refresh(url, callback){

            var params = {

                  type : "echo",

                  data : ""

            };

            $.ajax({

                  type:"post",

                  url:url,

                  cache:false,

                  async:true,

                  dataType:"json",

                  data:params,

                  //当异步请求成功时调用

                  success: function(data, status){

                        callback(data);

                  },

                  //当请求出现错误时调用

                  error: function(err){

                        alert("error : "+err);

                  }

            });

      }

      refresh("action.do?target=news", update("newsPanel"));

      refresh("action.do?target=articles", update("articlePanel"));

      refresh("action.do?target=pictures", update("picturePanel"));

      其中,update函数即为柯里化的一个实例,它会返回一个函数,即:

      update("newsPanel") = function(text){

            $("div#newsPanel").html(text);

      }

 五、闭包用处。。闭包来维护一个别人污染不到的变量 做计数器

var fn = (function(){
    var cnt = 0;
    return function(){
        return ++cnt;
    }
 })();
alert(fn());//------------------1
alert(fn());//------------------2
alert(fn());//------------------3

# 不管你把这个函数拿到哪里去,他执行时候很单纯。
 //用闭包来解决问题

每个函数都是一个闭包,定义的时候,执行的时候。

//用闭包来解决问题
window.onload = function(){
    var ul = document.getElementsByTagName("ul")[0];
    var li = ul.getElementsByTagName("li");
    for(var i=1;i<=li.length;i++){
        (function(i){
            li[i].onclick = function(){
                console.log(i); //点击第几个返回第几个
            }
        })(i)
    }
}

六、apply call bind

都是指定函数的上下文。 call是零散的参数,apply是数组。

 巧用: Math.max.apply(null, arr);  动态调用函数,返回最大值。

七、闭包

函数能记住自己定义时候所处的作用域,即使函数不在这个作用域运行,它仍然能访问当时定义时候的上下文变量。

、、闭包是函数外部的作用域。

、、提供变量的私有封装

、、

 function outer() {
  var a= 0;

  functiong inner() {

    console .log(a);
}
}

var innert = outer();  #访问它定义时候的值。

八、promise是新版ES的特性,目的:更优雅的解决异步。

       就是语法糖,then的东西从里面提外部来了,让异步变得漂亮,并没有改变核心机制。 

// 回调黑洞,回调套回调。

、、承诺契约,

解决:依次按顺序加载多个文件。。

九、模拟

 setTimeout(function(){


    //do something

    setTimeout(arguments.callee,interval);
},interval)

10 await表示等待。

async

11.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值