一、程序基础
软件:
- 可以实现一定功能,由多个程序组成。
程序:
- 是由数据结构和算法组成。
数据结构:
- 储存数据的方法。
算法:
- 解决问题的方法和步骤。
开发语言类别:
- 解释性语言:JS(JavaScript)
- 编译性语言:C、C++
程序设计的步骤:
- 软件计划
- 需求分析
- 软件设计(数据结构和算法)
- 软件开发
- 软件测试
- 软件上线
- 软件维护
错误(报错)
- 1、语法错误:没有按照规范的书写格式进行书写。
- 2、逻辑错误:语法是正确的,但结果和需求不符。
- 3、运行错误:语法和逻辑是正确,运行后不错(死循环)。
算法特点:
-
定义:解决问题的方法和步骤
1、有效性:a除以b b不能为0
2、有穷性:解决问题的步骤是有限的。不能是无穷步。
3、确定性:判断时给定确定的目标或标准,不能是模糊的。
4、0到多个输入
5、1到多个输出
4.23
一、编程基础
注释:
- //——单行文本注释
- /**/——多行文本注释
语句
-
书写格式: 关键字(可选项) 表达式 分号(用分号来代表一个语句的结束)
表达式:赋值符号右侧是计算,可以得到结果的公式。
ES
-
全称:ECMAscript(版本ES5、ES6)
-
ES5:可以重复声明标识符的名称。变量提升
ES6:在同一个作用域下,不可以重复声明标识符的名称。反之,不同作用域下则可以。
标识符
-
创建变量的方式
-
书写格式: 关键字 标识符 赋值符号 表达式 分号
-
例子 var i = 1+2 ;
-
//ES5:var i = 1+2;
//ES6:let j = 1000;
const z = 200;
-
命名规范
-
硬性要求
1、不要以数字开头,可以包含(字母、数字、下划线、美元符号)
2、不许使用关键字和保留字
3、区分大小写(大小写敏感)
-
软性要求
1、望文知意
-
小驼峰命名法(推荐):除了第一个单词外,其他单词首字母大写
-
大驼峰命名法:所有单词首字母大写
-
蛇形命名法:单词和单词之间用“_”连接——“xiao_lan”
-
匈牙利命名法:数据类型_变量名
-
DOS命令
- 进入目录:cd+空格+文件名
- 返回上一级:cd…
- 显示当前所在路径的所有文件:dir
- cls:清屏
Let和const的区别
- let是声明变量,const是声明常量(基本数据类型)。
undefined
- 表示所选中的标识符里面没赋值。
变量提升
-
只提升变量的声明,不提升变量的赋值。即把变量的声明,提升到JS文件的第一行。
-
要求:var生命的变量(不包含函数中的var)
给一个未声明的变量赋值
作用域
-
功能:变量的适用范围
-
分类:局部作用域:var的声明变量会自动提升到全局作用域
全局作用域
注:只赋值不加关键字,计算机会自动在变量前加var
数据类型
-
基本数据类型(简单数据类型)
1、数值型(Number)注:NaN也是数值型,但它不代表一个数字。当操作一个非数值的计算,结果就是NaN
- 整数
- 浮点数
- +infinity(正无穷)、-infinity(负无穷)
- NaN——isNaN:判断它是不是纯数字
- 转换成布尔值时,0为false,其他都为true
2、字符型(String)——必须加引号
- 双引号("")
- 单引号(’’)
- 字符串模板(ES新增)(``)
- 只要内容为空,转换为布尔值都为false
3、布尔型(Boolean)——true false
- 布尔值转数值:true=1、false=0
4、Undefind类型——undefind
5、Null(空)——null
6、Symbol
-
引用数据类型(复杂数据类型):Object(对象)
数据类型转换
-
强制转换
k = Boolean(k); console.log(k,typeof k)
-
隐式转换:注:加号线判断参与运算的有没有字符类型的。如果有,则为拼接。即两个内容合成一个字符类型。反之,则加法。
- 当其他数据类型为判断条件时,才会隐式转换Boolean
-
快速转换成布尔值:在输出里面加两个!
- 转换成字符串:在输出里面加空的单引号,双引号
- *转换成数值:在输出里加+0、-0、1
let k='15'; console.log(k,typeof k); console.log(k - 5);
判断标识符的数据类型
- 书写格式: typeof 标识符
- 注:输出一个为声明变量的类型则为undefined
逻辑运算符
- &&(并且):与运算,一假全假,都为真才为真
- ||(或):或运算,一真全真
- !(非,取反)
二、报错类型
-
使用未声明的标识符(报错) console.log(f74); // f74 is not defined(注:当括号里有typeof时,则会输出undefined) 使用声明未赋值的标识符 let i; console.log(i); //undefined
常量赋值:typeerror