复习回顾:
1. vsftpd
$apt-get install vsftpd
修改配置文件
/etc/vsftpd.conf
31行
write_enable=YES$ service vsftpd start
$ service vsftpd status2. node
3. 服务器( web开发工程师 )
linux(centos / ubuntu)
服务:
apache2 (httpd)
ssh 服务
ftp 服务
mysql 数据库服务
lamn linux + apache + mysql + nodephp linux + apache + mysql +php
手动安装
1) 安装二进制文件 (安装包,二进制 bin)
1. 下载node安装包
2. 将node安装解压到/opt
~/opt/node-v8.11.4
3. 配置环境变量
全局
/etc/profile
追加
export
局部
~/.bashrc
~/.profile
2) 通过源码安装
linux默认集成python
1. 下载源码 (无bin, configure)
2. 安装前设置
./configure --prefix...
3. 编译
make
4. 安装
make install
html+css
4. 编程语言
c语言
c语言写出来的代码是编译语言,像hello.c无法直接运行在操作系统上, C语言通过编写-> 编译 ->运行(直接运行在操作系统上
Java语言(跨平台) 经过 编写-> 编译 ->运行(运行在jvm)
js语言(nodeJS)经过编写 -> 运行, 是一种解释性语言而且是类型语言
1) js组成
主流浏览器: IE firefox google chrome opera safari
不同的浏览器对前端代码有不同的解析方式 ,为此 制定了ECMAScript (ECMA) js语法标准
JS基础: 变量
数据类型
关键字
操作符
语句(流程,循环)
数组
面向对象
js开发者
js解析者
DOM (jquery)
文档对象模型
js语法标准开发出来的操作元素的js库
var dom = document.getElementById()
dom.onclick()
BOM
浏览器对象模式
window.alert();
confirm()
prompt()
setInterval()
setTimeout()
2) hello.js
var str = "hello";
console.log(str);
$ node hello.js
3) js注释
// 单行注释
/**/多行注释
1:1
html注释 <!---->
css注释 /**/
4) 关键字和保留字
var str = "hello"
var if else while do switch
...
5) 变量
可以变化的量
js中的变量是弱类型的。变量的数据类型只有在初始化的时候才能被确定
1. 弱类型
var a ; //undefined
a = 3; //number
a = true //boolean
a = "19" //string
a = null //null
2. 变量声明
var a ;
var b , c;
3. 初始化
a = 3;
b = true;
4. 变量声明的提升
console.log(e); //undefined
var e = 3;
->
var e; (声明提升)
console.log(e);
e = 3;
5. 变量的数据类型
1) 基本数据类型(5种)
string
"true" '1'
"hello"11"world"
\" \' \t \n
number
1 1.1
NaN (not a number)
isNaN(变量)
如果变量为NaN,那么返回true
Infinity
var a = 1/0;
无限大
isFinite(变量)
如果变量正常,返回true
boolean
true / false
undefined
未初始化
以undefined来初始化
null
以null来初始化
function createPerson(name,age){
var person = null;
if(name && age){
person = new Object();
person.name = name;
person.age = age;
}
return person;
}
var p = createPerson("terry",22);
if(p == null){
console.log("未初始化");
} else {
console.log(p.name);
}
if(typeof a == 'boolean') {
}
判断变量所属数据类型
typeof 变量名
2) 引用数据类型
除了基本数据类型之外所有的其他数据类型都为引用数据类型
5. JS中的操作符
1) 算术运算符 (Number)
+ +=
- -=
* *=
/ /=
% %=
5%2 = 1
var a = 3;
a+=3
//a = a+3;
2) 一元运算符
++
前置,先自增再参与其他运算
var a = 3;
var b = ++a + 1;
后置,先参与其他运算再自增
var a = 3;
var b = (a++)+1;
--
与++类似
+
var a = 3;
+a;
var a = 'a';
+a;
将其他类型转化为Number类型
-
var a = 3;
-a // -3
var a = 'a''
-a
将其他类型转换为Number类型,再加-
+a
-(-a)
3) 比较运算符 (boolean)
== 比较值
=== 先比较数据类型再比较值
null == undefined //true undefined派生自null
null === undefined //false
'12' == 12 //true
'12' === 12 //false
!=
!==
>
<
>=
<=
4) 逻辑运算符(短路运算符) (boolean)
&& 并且
同真则真,有假则假
exp1 && exp2
exp1,exp2可以为boolean也可以为其他数据类型,如果为其他数据类型在运算前先转换为boolean在进行运算
exp2 = true
exp1 = false
如何证明?
||
有真则真,同假才假
var a = 3;
var b ;
var input = '19';
!
var a = true
!a //false
var a = 'hello';
!a //false
快速将其他类型转换为布尔类型的方法
!!a
5) 三目运算符
? :
boolean_exp ? exp1 : exp2;
var xb = gender == 1 ? '男' : '女';
var a = day==1?'周一':day==2?'周二':'周三'
<div id="main">
姓名<div>{{name}}</div>
性别<div>{{gender==1?"男":"女"}}</div>
</div>
<script>
export default {
data(){
return {
name:'terry',
gender:1
}
},
methods:{
sayName:function(){
}
}
}
</script>
6) 位运算符
6. 基本数据类型的类型转换
1) 将其他数据类型转换为Number
转换
+a
-(-a)
Number(a)
true 1
false 0
undefined NaN
解析
parseInt() 解析为整数
parseFloat() 解析为小数
true NaN
false NaN
undefined NaN
2) 将其他数据类型转换为Boolean
!!a
Boolean(a)
number
非0/Infinity true
0/NaN false
string
非空字符串 true
空字符串 false
null false
undefined false
3) 将其他数据类型转换为String
var a = true;
a = a+''
7. 流程控制语句
1) if语句
if(exp){
//...
}
当exp为真,才可以执行大括号中的内容
当exp不为boolean的时候,先转换为boolean类型
2) if-else
if(condition) {
exp1
} else {
exp2
}
当condition为真,执行exp1,否则执行exp2
3) if-else if - else
if(condition1){
exp1
} else if (condition2) {
exp2
} else {
exp3
}
4) switch
var day = "3";
switch(day){
case 1:
break;
case 2:
break
case 3:
break;
default:
...
}
1. 变量与常量比较的时候使用===
2. 在case代码块不可以省略break;不然代码会直接向下执行直到遇到break或者代码结束
3. default的位置可以不在最后,当在其他位置上时,break不能省略
8. 循环语句
要素
初始化条件
结束条件
迭代
1) for循环
for(初始化条件; 结束条件; 迭代) {
//循环体
}
初始化条件执行1次
结束条件执行 n+1次
迭代 n次
1 + 2 + 3 + ... + 100
(1+100)*50
2) do-while
3) while
4) for-in (增强for循环)
遗留的问题:
1. 重启
sudo reboot
2. 修改主机名
sudo vi /etc/hostname
3. 位运算符
电算
计算机组成原理
硬件
数据库系统概论
mysql
DDL
DML
计算机网络
http
tcp
ip
数据结构
栈
队列
二叉树
红黑树
图
算法
递归
操作系统
离散数学
&&
||
线性代数
矩阵
高数
大数据