编程基础
软件:由多个程序组成的,完成特定的功能
程序:完成指定功能的指令(代码)。
计算机语言(机器语言:可读性差)
2汇编语言 (还是没有到达人类的语言)3 高级语言
3 高级语言
编译性语言:java c c#【一次把所有代码编译成机器语言,然后运行代码】
解释性语言:JS(javascript) PHP Ruby【一边翻译,一边运行(即获取到一行代码进行翻译然后运行)】
程序:数据结构+算法
数据结构:把数据存储到计算机中
算法:解决问题的方法和步骤
程序设计的步骤
1,软件计划
2,需求分析与定义
3,软件设计(数据结构与算法)
4,软件实施
5,软件测试
6,更新和维护(运营)
常见错误
1 语法错误:编写的代码不符合规范
2 逻辑错误:语法正常,代码是可以编译,运行的结果不是所期望
3 运行错误:算法有问题(死循环)
算法:1 自然语言,2 伪代码 3 流程图(亿图)
算法的特点
1 有穷性:一个算法包含有限的操作步骤,而不是无限的
2 确定性:每个步骤都是确定的,不是含糊的
3 有零个或多个输入
4 有一个或多个输出
5 有效性:0
基础编程2
JS发展历史
公司: 景 Nav
名人:布莱登。艾奇 名 10-30天 JS
ECMA:制定规范(JS) JavaScript是ECMA规范的具体实现
单行注释//
多行注释/* */
语句
格式:关键字 表达式 分
(用分 来判定一条语句的结束)
标识符
格式:关键字 标识符 表达式 分
可以用作变量名,函数名,数组名,对象名等
命名规则
1 硬性要求
a:可以由数字,字母,下划线和美元符 (不允许包含其他特殊符 )
b:不能数字开头
c:不能使用关键字和保留字
d:严格区分大小写(即大小写敏感)
2 软性要求:“望文知意”
标识符的表示形式
1 大驼峰命名法:每个单词的首字母大写
UserName
2 小驼峰命名法(推荐):除了第一个单词,其它首字母大写
userName
3 蛇形命名法
user_Name
4 匈牙利命名法:先写数据类型,再写标识符
S_username
数据类型
1 基本数据类型
2 引用数据类型
对象(Object)、数组(Array)、函数(Function)
如何查看数据类型
typeof 标识符/具体的值
console.log(typef 1234);
运行js文件
node 文件名.扩展名
运行文件的前提,首先要在运行文件所在的文件夹中
cd 文件名 功能:进入到某一个文件夹中
cd… 功能:返回上一级目录
如果返回上二级目录,需要执行cd…两次
dir 功能:展示当前文件夹中所有内容(文件,文件夹,系统文件等)
清屏 cls
创建变量
先声明变量,再使用变量
格式: 关键字 标识符;
声明变量时可使用的关键词:
区别:
错
1 重复声明 错
syntaxError:Identifier ’标识符‘ has already been declared
2 使用未声明的标识符 错:
ReferenceError:标识符 is not defined
问题1:使用声明未赋值的标识符 错:
undefined
重复声明 错
使用未声明的标识符 错
使用声明未赋值的标识符 错
但不属于 错
变量的赋值
变量的初始化
作用域
当新声明局部变量与全局变量名字相同,不会发生重复声明,会直接使用局部变量的值。
当局部变量与全局变量名字相同,不会发生重复声明,会直接使用全局变量的值。
var声明的变量为全局变量
没有关键字的变量,默认值为var,即为全局变量
基本数据类型
undefined类型
只有一个值就是undefined,表示声明变量,但对变量没有赋值就使用了
【扩展】打印一个未声明的变量类型,是undefined;
null类型
只有一个值就是null,表示一个空的对象。
数值类型 Number
整数(正、负)
实数(小数)
NaN not a number(不是一个数值,即非数字)
NaN的两个特点
1、所有内容与NaN进行运算,得到的结果都是NaN
2、NaN不等于任何值,包括它自己。(NaN与任何值比较,得到的结果都会是false)
判断一个变量是不是一个非数字(一般适用于判断用户输入的是否是数字)
如:i=123;
isNaN(i) 判断是不是一个非数字
false:不是非数字 true:是一个非数字
排除输入的是小数,或数字和字母的组合、非数字。可用:
if (inputNum != parseInt(inputNum))
数值取整
语句编写格式
字符串进行取整
1、取整的字符串,会先判断第一位是不是数字,如果是会继续判断下一位。
直到判断不是数字的一位。取这个位置之前的内容。
2、第1位到第1个数字之间的0,会被忽略。
3、如果第一个不是数字,也不是负 ,则会返回NaN。
4、[扩展]以0X开头表示十六进制数,以0b开头表示二进制。
String类型
如: let i = “123”; i = ‘abc’;
1 不同引 之间可以嵌套(内层和外层引 要区分)
2 相同引 嵌套需要添加转义符
字符串模板 (~)
1、内容可认换行输入,显示时,也是换行显示
2、内容中的变量可以用${变量名}(表达式:能够获取到一个值),来进行变量值的获取与展示
${}占位符
大括 里放:表达式
注:字符串模板中,输入了空格。会是转换成一个空格的字符串。 即会考虑空格的存在。
Boolean类型
true为真,false为假,大写不识别。
数据转换
其它类型转换成Boolean
其它类型转换成Boolean,以下的值都会转换成false。即除了以下的值之外都会得到true;
隐式转换
运算公式会触发隐式转换,会把非数值,转换成数值
便捷的转换方式
把一个String类型的数字转换为Number类型
把一个Number类型的数字转换为String类型
运算符
算术运算符
一元运算符
赋值运算符
自增 自减
自增或自减在变量之前,先计算,再使用
自增或自减在变量之后,先使用,再计算
自增与自减,也可以适用于Number类型以外的数据。即当前值会先转换成Number
比较运算符
得到结果,只能是Boolean
关系运算符
相等和不相等
全等和不全等
比较的是内容与类型(同时满足)
逻辑运算符
非 与 或
非
真取假,假取真,即取反
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!