基础概念:
IDE 集成式开发环境
app application 应用程序
js javascript
软件:多个程序组成
程序:数据结构和算法组成
数据结构:数据的存储方式(变量)
算法:解决问题的方法和步骤
开发语言的历史:
机器语言:1010100
汇编语言:1 add 1
高级语言:1+1
开发语言的分类:
1、解释性语言:
读取一行代码,就解析并执行
成功执行后,继续读取后面的代码,直到最后一行
JS PHP Python
2、翻译性语言:
读取所有代码进行解析后在执行
java c++ c#
错误的分类:
1、语法错误(固定格式的代码)
2、逻辑错误(思维逻辑,例如你的余额足够,才会进行购买的操作)
3、运行错误(变量错误或者数据不对称)
算法的特点:
1、有穷性:一个算法的解决步骤和方式,是在有限的范围内完成。
2、确定性:每一个步骤是确定的,不是含糊的。
3、有0到多个输入
4、有1到多个输出
5、有效性 (134/0)
创建一个求和的空间
赋值F78=24
创建一个F78的空间,让他等于24
伪代码:方便开发人员看
算数运算符
+、—、*、/、%取余
加号左右存在字符类型的数据,则为功能拼接
==等于 =!不等于
书写格式:标识符*标识符
适用条件:number类型
使用场景:表达式
一元运算符
取值:++自增 --自减
++在前,则先自增,后使用
++在后,则先使用,后自增
let num=1;
console.log(num++);1
console.log(++num);3
--在前,则先自减,后使用
--在后,则先使用,后自减
赋值运算符:
let num=1
num+=1;2
num-=1;1
num*=1;1
num/=1;1
num%=1;1
逻辑运算符:短路运算符
取值:!非 (取反) &&与() ||或
与运算:一假全假
或运算;一真全真
使用场景:判断条件,用户输账号密码
比较运算符:
取值:>、<、>=、<=、==、!=
===全等 值和类型都相同返回true,反之返回fasel
!==不全等
返回值:boolean
变量值的互换
let i=1
j=2
k=3
[i,j,k]=[x,y,z]
三目运算符
书写格式:条件? 表达式2:表达式3;
变量:
变量是计算机内存中存储数据的标识符,根据变量名称可以获取到内存中存储的数据
为什么要使用变量:
使用变量可以方便的获取或者修改内存中的数据
JavaScript和HTML、CSS的区别
-
HTML:提供网页的结构,提供网页中的内容
-
CSS: 用来美化网页
-
JavaScript: 可以用来控制网页内容,给网页增加动态的效果
JavaScript现在的意义(应用场景)
-
网页特效
-
服务端开发(Node.js)
-
命令行工具(Node.js)
-
桌面程序(Electron)
-
App(Cordova)
-
控制硬件-物联网(Ruff)
-
游戏开发(cocos2d-js)
js以前的名字livescript
ECMA用来规定js的规范
esmascript es5缩写
js区分大小写
用分号来区分语句
关键字、标识符、赋值符号、表达式、分号
创建变量
es5书写格式
var 5
console.log()
es6书写格式(推荐)
let num =1
console.log()
ES5和ES6的区别:es5可以重复声明,es6不可以
在集成终端输入node加tab键
cls清屏
ES5
var num =1
var num=2
var sum=num+1;
输出语句
console.log(sum)
ES6
let num =1
var num=2
var sum=num+1;
输出语句
console.log(sum)
let和comst的区别
let声明变量
const声明常量(不可重复赋值注:数据结构变化,会发生变化)
报错:
1.重复声明declared
Identifier 'XXXX' has already been declared
2.给常量重新赋值variable
TypeError: Assignment to constant variable.
3.声明常量未赋值declaration
Missing initializer in const declaration
4.使用未声明的变量defined
XXXX is not defined
5.顺序错误before initia
批量声明变量
let a=1,
b=2,
c=3;
console.log(a)
console.log(b)
console.log(c)
变量的赋值(表达式)
数据类型的分类
基本数据类型:
1、number数值类型
取值
(整数100、小数2.6 负数-2)
NaN 非数字 is not a number
let num=1;
console.log(typeof num,num)
一、
let balance=100;
let saveMoney="100";
// 判断变量是不是number类型
console.log((typeof saveMoney)=="number");
二、
书写格式:isNaN(变量名)
console.log(isNaN(saveMoney));
2、string
书写格式1:单引号
书写格式2:双引号
书写格式3:字符串模板,可以换行,可以变量${变量名}
转义符/ ‘\’L4\‘’
字符串模版
console.log(
用户名是:${username},年龄, ${age}, 性别, ${gender}
);3、undefined
取值undefined
let 1;
// console.log(typeof 1, 1);
4、null类型 空对象(js遗留问题)
取值null
let temp = null;
console.log(typeof temp, temp);
5、boolean布尔类型
取值:true false
适用场景:判断
6、symbol(讲解对象是学习)
引用数据类型:
1、object 对象
数据类型的转换:
let balance = 100;
let saveMoney = "200";
balance += Number(saveMoney);
console.log(typeof balance); 300
console.log(typeof String(balance));
强制类型转换
true是number类型的1
false是number类型的0
隐式转换Boolean类型,会转换成false
let result =undefined ? true : false;
null
NaN
0
false
'' ”“
算数运算符
+、—、*、/、%取余
加号左右存在字符类型的数据,则为功能拼接
==等于 =!不等于
书写格式:标识符*标识符
适用条件:number类型
使用场景:表达式
一元运算符
取值:++自增 --自减
++在前,则先自增,后使用
++在后,则先使用,后自增
let num=1;
console.log(num++);1
console.log(++num);3
--在前,则先自减,后使用
--在后,则先使用,后自减
赋值运算符:
let num=1
num+=1;2
num-=1;1
num*=1;1
num/=1;1
num%=1;1
逻辑运算符:短路运算符
取值:!非 (取反) &&与() ||或
与运算:一假全假
或运算;一真全真
使用场景:判断条件,用户输账号密码
比较运算符:
取值:>、<、>=、<=、==、!=
===全等 值和类型都相同返回true,反之返回fasel
!==不全等
返回值:boolean
变量值的互换:
let i=1
j=2
k=3
[i,j,k]=[x,y,z]
三目运算符:
书写格式:条件? 表达式2:表达式3;
let username = "z3";
let password = "123";
username == "z3" && password == "123" ?
console.log(
登录成功
) :console.log(
登录失败
);快速数据类型转换方式:
转Number ~~ -0减0 *1 /1
转String +''
转Boolean !!
NaN的特点:
任何值跟NaN比较都是false
任何值与NaN比较结果都是NaN(包括他自己)
let a=1;
ciosole.log(a==NaN);false