node.js基础详解

1.回顾数组的高阶方法

单词 方法
forEach 遍历
filter 过滤
map 映射
reduce 累计
every 每一个
some 有一个
find 查找符合条件的元素
findindex 查到符合条件的下标
sort 排序

2.数组的去重

1.filter通过索引与下标去重

arr.filter((item,index)=>arr.indexof(item)==index)
arr.filter(function(item,index){
// 如果indexOf的下标等于遍历的下标
if(arr.indexOf(item) === index){
			return true;
}else{
			 return false;
}
 })

2.set去重

var arr1 = [...new Set(arr)]
var arr1 = Array.from(new set(arr))

3.判断js数据类型

  • typeof 对值类型有用引用类型除function函数其他都返回true
  • instanof 是某个函数的实例在原型链查找到该对象的都返回true
  • constructor 构造函数
  • object.prototype.toString.call(对象).slice(8,-1)

4.mysql在node.js使用

  1. 安装node.jsnpm i mysql -s
  2. 导入 var mysql = require(‘mysql’)
  3. 创建连接
var con = mysql.createConnect({
host:'localhost',
user:'root',
password:'123456',
database:'feedback'
})
  1. 连接
con.connect(function(err){
if(!err){console.log('数据库连接成功')}
})
  1. 执行sql
var sql = `select * from user where 1`;
con.query(sql,function(err,result){})
//  err 错误信息
//  result  执行结果1
  1. 断开sql
con.end(function(err){
if(!err){console.log('断开成功')}
})

5.express前后端不分离

  1. 安装模板npm i ejs -s
  2. 设置模板
app.set('views','./views')
app.set('viwe engin','ejs');//使用ejs引擎

2.定义模板

/views/user.ejs

3.定义路由

app.get('user',function(req,res){
res.render('user',{title:"",list:[]})
//渲染/view/user.ejs模板,并传入数据{title:"",list:[]}
})

4.ejs模板语法

<%= $>渲染的数据
<% %>执行的js

<p><%= title %></p>
将会把标题渲染到p标签里面

list.forEach(item=>{
<li></li>
})

<% list.forEach(item=>{%>
<li><%= item %></li>
<%});%>

6.express前后端分离

1.get
app.get('/list',function(req,res){
res.json({})//发送给客户端
})
2.post
//1.使用中间件
app.use(express.json());
//2. 处理post请求地址是/adduser
app.post('/adduser',function(req,res){
//req.body 客户端发送给后端的数据body
req.json({})//发送数据给客户端
})

你可能感兴趣的:(node.js,javascript,前端)