小点

Javascript中的键(Key)只能是字符串类型,不可以是其他!!!
bind不会修改原来函数的作用域,只是会返回一个被限制了作用域的函数,而且这个函数没办法修改作用娱咯。
setTimeout是非阻塞型的函数。也就是说不会阻碍后续工作进行。按照书上所说,nodeJS是采用了先注册事件然后不断去查询事件是否被分发(即应该被执行了)。也就是说不会影响后续事件执行。这就是非阻塞型,异步的。
Node并发采用事件轮询,和timeout一样。我感觉就像是有一个闹钟一样,有事件来就会触发通知。收到HTTP请求的时候,底层TCP连接会分配一个文件描述符。然后,如果客户端向服务器发送了数据,Node就会受到该文件描述符的通知,触发回调函数。
看下面的代码把

function b(){
      a()
      console.log("hah B");
}
function a(){
      setTimeout(function(){
            throw new Error("aha")
      },100)
}
b()

注意打印结果是

//hah B
//错误信息

也就是说函数b并不会收到a的阻滞。并不会等到a执行了再接着执行。这个感觉调试起来就很困难啊。

function b(){
      var str = "asd"
      str = a()
      console.log(str);
}
function a(){
      setTimeout(function(){
            return "d"
      },100)
}
b()//undefined

fs.readFile(file[, options], callback)

options一般填写uft-8,注意这个是要填的。在读取文件的时候,注明了这个才会转换成string对象,否则是一个buffer,不便于在callback中处理。
callback接受两个参数,err和data,data就是文件的内容。
nodejsAPI写到。

If no encoding is specified, then the raw buffer is returned.
If options is a string, then it specifies the encoding.

就是说如果不指定编码方式的话data就是一个buffer,指定了具体的编码方式才是string。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值