es ECMAScript
java 和 jsp 没有任何关系、
ECMA:欧洲计算机管理公司
程序:操作指令的集合
ES : ECMAScript标准
JS :具体的实现 现在最高6.0 版本
JS 语言的特点
脚本语言:
不能操作底层
解释型语言
编译方式不同
弱类型语言
浮点 64位浮点,类型没有要求
虽然不是纯粹面向对象语言,但是具有面向对象的概念
可以通过键值对封装
嵌入式语言
嵌入到其他程序
灵活
语言运行
编译 编译器
通篇翻译
obj
解释 解释器 谷歌V8引擎 node.js后端
解释一行,运行一行,碰到错误才会报错
环境安装
基本语法
常量,变量
变量:一个存储空间得到名字(数据)
在程序运行中可以变化的量
1,决定内存分配的大小和位置
定义变量 :var
var name= 'zhoujun';
类型:
数值
64 位的浮点数值 1个符号位 8位有效数字 53位为指数
字符串
'',"",同一个脚本中,不要单引号和双引号交叉使用
bool
true ,false
undefine
此处没有值 未定义(数值,字符串,字符串)
null
属于对象
(用bool值判断undefine和null都为false)
object
数组、
对象()、{
狭义的对象
}
常量:
标识符的规则(变量名的命名规则)
1,见名知意 驼峰法 helloWorld(小驼峰)
2,避开关键字(class,true,false)
3,开头必须是字母,下划线,$
4,只能由字母,下划线,$,数字组成
注释
// /**/ <!-- -->
运算符:
算术:+ - * / %
5%-2
取余:
结果的符号与第一个操作数的符号相同
a%b=c c的符号与a的符号相同
c的绝对值小于b的绝对值
赋值: =
关系: > < >= <=
== :值相等\'3'=3, 字符串和数值可以相等
===:数值类型和数值都相等‘更加严谨 a!==b 是 a===b取反
逻辑:|| && !
短路特性:a<b &&a<9;前者不成立,后面就不需要看了
在写if && 运算的时候,可以将一些常见的情况写在前面,提高运行的速度
位 其他
表达式
计算机会求出所有的表达式(不要写没有意义的表达式)
语句:
选择:if()
循环:for()
跳转:break,continue,return
函数
一等公民 凡是可以用值的地方都可以用函数
if(函数)
{
}
f(函数){}
g()
{
return 函数
}
【函数,函数】
{
f:函数
}
数组
(指针)
数据结构
面向对象
网络通信
框架
模式
变量定义的规则
1,使用 let 而不是 var 定义变量
2,能够使用const尽量使用const
3,尽量不要使用全局变量,避免造成全局作用域的污染
4,初始化能够给定一个安全值就给,没有合适的安全值用undefined或者null
解构赋值
//交换两个变量的值
let [a,b]=[100,300];es6
let [a,[b,c]]=[1,[3,5]]//结构相同都可以赋值
let{a,b}={a:100,b:200};
let{a:ss,b:ff}={a:100,b:200};//最终创建的变量为ss,ff 对象的结构赋值
[a,b]=[b,a];//直接交换
数值的取整:
a||0取整
Math.ceil();//向上取整
Math.floor();//向下取整
Math.round();//四舍五入取整
parseInt();//向下取整
**乘方(指数运算符)
使用位运算符的时候,会将64位浮点数转换为32位的符号整数
//函数 API 接口
1,叫什么,怎么写
2,怎么得到,怎么用
3,怎么用(传入的数据,需要参数,需要几个参数)哪些是必须的,哪些是可以省略的,每个参数的意义
4,能做什么
5,是否产生副作用
console.log(‘5’+5);转字符串
console.log(‘6’-5);转数值类型
NUmber(),praseInt();转数值类型
尽量使用Number,parseInt
转bool值的
false, 0,"",undefined,null,NaN;转bool都为false;
[] 和 {}转bool都是true;
String s=“888”;
Boolean b =new Boolean(s);
字符串的裁剪与分割
//裁剪
let str=‘sadfsdfgsd’;
console.log(str.slice(2,7));
//分割
let str1=‘1-2-3-5-7-8’;
console.log(str1.split("-"));
//模板字符串
let [name,age,address]=[‘lilei’,22,‘wuhan’];
let modelStr=name :${name} year:${age},home :${address}
;
console.log(modelStr);;
Array
String
Number
Object
JSON
Date
Math