- A+
1、随机产生33位数字:
var arr=[]; for(var i=1;i<=33;i++){ arr.push(i); }
2、随机取6位数字;
存放位置:当循环完一次之后,将当前arr数组对应的索引删除,不会出现重复的元素
var newArr=[]; for(var i=0;i<6;i++){ var num=Math.floor(Math.random()*arr.length); newArr.push(arr[num]); arr.splice(num,1) }
上面会得到无序的不重复的6位数
进行排序:
newArr=newArr.sort((a,b)=>a-b);//ES6箭头函数
Math对象:
PI Π值
abs() 取绝对值
floor() 向下取整
ceil() 向上取整
round() 进行四舍五入
max() 两数取最大
min() 两数取最小
pow(x,y) 取xy
random()取[0,1)之间的数
ES6
块级作用域 let {}
箭头函数 ()=>{}
ES6允许为形参设置默认值,如果没有传递实参,则自动调用形参的默认值
function add (num1, num2=7){ }
模板字符串:`` 在这中间可以写任意形式的代码 ${JS语法}
NODEJS
JS运行在浏览器端,存在兼容性问题,NODEJS运行在服务器,不存在兼容性
两者都有内置对象、自定义对象、宿主对象(根据执行环境不同)
JS用于网页中的交互效果,NODEJS用于服务器端操作,例如:创建web服务器、操作数据库...
NODEJS的执行方式
1. 脚本模式 :
在当前文件下按住shift鼠标右击 ,打开powershell 执行node 文件名.js
2. 交互模式:
在终端输入 node 回车进入交互模式:两次ctrl+c或者输入 .exit 退出交互模式
全局对象:NODEJS:global
在交互模式下,声明的变量和创建的函数都是全局对象下的,可以使用global来访问,例如 var a=1; global.a
在脚本模式下,文件中声明的变量和创建的函数不是全局对象下的,不能使用global来访问
JS:window
(1)
global.console.log(1);打印日志
global.console.info()打印消息;
global.console,warn() 打印警告;
global.console.error()打印错误
global.console.time('自定义字符串'); 开始计时
global.console.timeEnd('自定义字符串'); 结束计时
在浏览器控制台:
在node的交互模式下:
(2)node交互模式下的process
当前计算机的进程:
process.arch 查看当前CPU架构 X64
process.platform 查看当前的操作系统 w32
process.env 查看当前的环境变量有哪些
process.version 查看当前nodejs版本号
process.pid 查看当前进行的编号
process.kill(编号) 杀死某个编号的进程
(3)Buffer
缓冲区:在内存中存储数据的区域,存储网络传输时的资源/
创建Buffer
var buf=Buffer.alloc(5,"abcde");
将buffer数据转为普通字符串
buf.toString()
例如;创建两个buffer区域,分别存储两个数字,计算两个数字相加:
(5)模块系统:
模块是一个预定义好的功能体,在nodejs下,每一个文件都是一个模块。
在NODEJS下分为自定义模块、核心模块(官方提供)、第三方模块
在NODEJS下,一个文件就是一个模块,文件中的代码默认是被一个构造函数所包含。
以下红色的代码都是nodejs自动为每个文件添加的。
(function(exports,require,module,_filename,_dirname){ 程序编写的代码 })
_filename() 当前文件的完整路径和文件名称;
_dirname 当前文件的完整路径;
require:是一个函数,用于引入模块 require('./07_2.js')
module 指当前模块;module.exports 当前模块导出的对象(公开的内容),可以供其它的模块使用的属性和方法。
exports 等价于 module.exports
练习:创建两个模块 main.js(主模块),circle.js(功能模块);在功能模块中创建两个函数,传递1个参数作为半径,分别获取圆的周长和面积,导出(公开)两个函数;在主模块中引入功能模块,调用两个函数。
circle.js
function zhouchang(r){ return 2*Math.PI*r; } function mianji(r){ return Math.PI*Math.pow(r,2); } module.exports.mianji=mianji; module.exports.zhouchang=zhouchang;
main.js
console.log(circle); console.log(circle.zhouchang(5).toFixed(1)); console.log(circle.mianji(5).toFixed(1));