集合ArrayList是使用大小可按需动态增加的数组,可以通过泛型为其制定集合中的类型。泛型是具有占位符(类型参数)的类、结构、接口和方法,这些占位符是类、接口、接口和方法所存储和使用的一个或多个类型的占位符。泛型集合类可以将类型参数用作为它所存储的对象的类型的占位符。使用方法如: List arrayAnimal。
//读取文件 //1.回调函数 fs.readFile('/etc/passwd', function (err, data) { if (err) throw err; console.log(data); });
//2.Promise fs.readFile(fileA, function (err, data) { fs.readFile(fileB, function (err, data) { // ... }); }); //读入A后,读取B,则会出现多重嵌套
//3.协程 function *asnycJob() { // ...其他代码 var f = yield readFile(fileA); // ...其他代码 }
//4.generator var fs = require('fs');
var readFile = function (fileName){ returnnewPromise(function (resolve, reject){ fs.readFile(fileName, function(error, data){ if (error) reject(error); resolve(data); }); }); };
var gen = function* (){ var f1 = yield readFile('/etc/fstab'); var f2 = yield readFile('/etc/shells'); console.log(f1.toString()); console.log(f2.toString()); };
//5.Async var asyncReadFile = asyncfunction (){ var f1 = await readFile('/etc/fstab'); //await表示紧跟后面的表达式需要等待结果 var f2 = await readFile('/etc/shells'); //返回Promise对象,如果不是,则转为promise console.log(f1.toString()); console.log(f2.toString()); };
let arr =['b','c']; ['a',…arr,'d'] //['a','b','c','d'] 扩展运算符会调用默认的iterator接口
var arr = ['a', 'b', 'c', 'd']; for (let a in arr) { //forin循环,只获得对象的键名 console.log(a); // 0123 } for (let a of arr) { //forof循环,获得对象的键值,只返回具有数字索引的属性 console.log(a); // a b c d }
Web Sockets的目标是在一个单独的持久连接上提供双工、双向通信。使用标准的HTTP服务器无法实现Web Sockets,只要支持这种协议的专门服务器才能正常工作。
1 2 3 4 5 6
var socket=new WebSocket("ws://www.example.com/server.php"); socket.send(JSON.stringify(message)); socket.onmessage=function(event){ var data = event.data; //处理数据 }