JS
程序 算法 软件
程序:用于完成指定功能的指令。 计算机科学家 沃斯 :程序=数据结构+算法
算法:解决问题的方法和步骤
软件:一到多个程序的集合。常见软件:文字处理类、图像处理类、恶意软件等
计算机语言
1.机器语言
2.汇编语言
3.高级语言
程序设计步骤
1.提出(分析)需求
2.确定数据结构、算法
3.编码、调试
4.测试
5.维护
常见程序相关错误类型
1.语法错误(比较好去避免的)
2.逻辑错误:达不到预期想要的结果
3.运行错误:内存分配问题
4.开发错误:偏离用户需求
算法
算法:解决问题方法步骤
1.数值型算法,得到数字类型的结果
2.非数值型算法,登录、搜索(search)
特征:
1.确定性
2.有穷性:算法的步骤是有限的
3.有 0 到多个输入:有些功能需要用户输入
4.有 1 到多个输出:有些功能会返回出结果
5.有效性
算法的表示方式
为了让其他人能够明白自己的算法,需要用一些方式将算法表示出来
1.自然语言表示法,例如:博客、总结等。
2.伪代码
step1:A->C
step2:B->A
step3:C->B
step4:end
3.流程图
JS最早浏览器脚本语言,ES6(2015)开始成为通用编程语言
JS和ECMA(欧洲计算机制造协会)关系
ECMAScript是语言的标准(宪法),js具体实现
js版本号
目前只有Mozilla作为网景精神延续在使用js的版本号,我们更多的提到的是
ES版 目前最新ES7
ES版本:
-
ES1:1997年
-
ES2:1998年
-
ES3:1999年
-
ES4:同年的一个过渡版本
-
ES6:2015,所以ES6也被叫做ES2015
JS的组成部分
1.核心语法
2.DOM document object model(文档对象模型)
3.BOM browser object model(浏览器对象模型)
JS语法
-
区分大小写
-
单行注释 // 多行注释 /**/
-
语句以 ; 结尾
-
标识符
-
指变量、数组、函数等名字。定义标识符就是取名字的过程
-
标识符的命名规则分为硬性要求和软性要求
-
硬性要求:就是指必须满足否则无法通过编译。由数字、字母、下划线、$;但不能以数字开头,禁止使用ES里的关键字保留字;
-
软性要求:望文知意
-
-
命名规则
-
大小驼峰命名法:UserName、userName
-
匈牙利命名法:以一个或多个单词组成,前面还会加上一个固定的前缀,这个固定前缀就表明了该变量的类型。
-
int i_score
-
Array a_myUser
-
Boolean b_isPassed
-
Funcion fn_doSth
-
Object o_person
-
-
-
蛇形命名法:user_name
-
关键字: if else this return break
-
保留字:long super short debugger
-
变量
变量的声明和赋值时可以同时进行的,如果时第一次给变量赋值这个过程叫做变量的初始化
变量可以一次声明多个 let i = 10,j = 20;
-
var(支持重复声明)(遗漏声明)
var a =5;
var a =10; -
let (ES6)(不允许在相同作用区域内重复声明同一个变量,重复声明时不合法的)
{
let a=1;
}
let a=2; -
const (ES6)(用于声明 常量)
-
const的特性:
-
对于简单值,不能再更改
-
对于复杂值,在不改变引用的前提下可以修改
-
const 声明的变量必须赋值
-
-
数据类型
JS中的每一个值都必须属于某种数据类型
-
基本数据类型 原始数据类型 简单值
-
引用数据类型 合成数据类型 复杂值
typeof为查看数据类型
基础数据类型
-
未定义 Undefined
-
空 Null
-
数字 Number
-
布尔 Boolean
-
字符串 String
-
符号 Symbol (ES6)
-
对象 Object 引用数据类型
-
undefined(未定义)
声明变量未赋值、函数没有返回值、它的值就是undefined
JS中的一个BUG:一个变量声明了没有赋值,是undefined,一般不会显式地将一个变量设置为undefined,但如果没有声明就会直接报错 is not defined
使用typeof查看,是undefined
返回undefined的情况
-
访问未赋值的变量
let a;
-
任何被设置为undefined值的变量
let a =undefined;
-
没有定义return表达式的函数,隐式返回undefined
function foo(){}
-
return表达式没有显式的返回任何内容
function foo (){rerurn;}
-
访问不存在属性
zhangsan.girlfriend
浙公网安备 33010602011771号