一、基本输入输出
 
二、变量
2.1 概述
理解:变量是一个存放数据的容器,通过变量名可以取存取修改数据。 本质:程序在内存中申请的一块存粗数据的空间。 
2.2 使用
变量的使用前需要经过声明和赋值2步:
var name;
name="wyl";
console.log(wyl);
声明和赋值可以合成一起,称为变量的初始化:
var name="wyl";
console.log(name);
变量的使用包括更新和调用。
2.3 多变量声明
var name ="wyl",
age=24,
isMa=true;
var a=b=c=0;
2.4 变量命名规范

三、数据类型
3.1 简介
 
3.2 分类
 
3.3数值型(Number )
3.3.1进制
var a=010;
console.log(a);
var b=0xf;
console.log(b);
3.3.2 数值范围
console.log(Number.MAX_VALUE);
console.log(Number.MIN_VALUE);
3.3.3特殊值

console.log(Number.MAX_VALUE*2);
console.log("a"-100);
3.3.4isNaN()方法
用于判断传入的值是否为非数值。 
3.4 字符串型(String )
3.4.1 简介

3.4.2 引号的嵌套

3.4.3 转义字符

3.4.4 字符串长度

3.4.5 字符串拼接

3.5Noolean 、 Undefined 和Null


3.6 获取变量数据类型

3.7 字面量

3.8 数据类型转换

3.8.1 转为字符串

3.8.2 转化为数字型

3.8.3 转化为布尔型

四、运算符

4.1 算术运算符

4.2递增递减运算符
 
4.3比较运算符

console.log(37=="37");
console.log(37==="37");
4.4 逻辑运算符
  
console.log(123 && 456);
console.log(0 && 456);0

4.5 赋值运算符

4.6 运算符优先级

五、流程控制

5.1 分枝结构
5.1.1 if 语句
  
5.1.2 三元表达式

5.1.3 switch语句
 
5.2 循环结构
5.2.1for 循环

5.2.2 while 循环

5.2.3do while 循环

5.3 continue 和 break
 
六、数组
6.1 概念

6.2 创建数组
6.2.1利用 new 创建数组

6.2.2通过字面量创建数组

6.3 访问数组

6.7 数组长度

6.8 数组新增元素

七、函数
7.1 概念

7.2 使用
  
7.3 函数的参数

7.4 形参和实参的个数不匹配问题

7.5 函数的返回值
7.8 arguments 的使用
 
7.6 函数声明的另外一种方式

八、作用域
8.1 简介
  
8.2 变量的作用域
  
8.3 作用域链

8.4 预解析
现象一:
console.log(num);
var num=10;
现象二:
fun();
function fun(){
console.log("hello");
}
现象三:
fun();
var fun=function (){
console.log("hello");
}
  以上代码相当于:
var num;
function fun(){
var num;
console.log(num);
num=20;
}
num=10;
九、对象
9.1 简介
    
9.2 创建对象的三种方式
9.2.1 利用字面量创建对象
var obj1={}
var obj2={
name:"Tom",
age:18,
sayHi: function(){
console.log("hello");
}
};

9.2.2 new 关键字创建对象
var obj1=new Object();
obj1.name="Tom";
obj1.age=18;
obj1.sayHi=function(){
console.log("hello");
}
9.2.3 构造函数创建对象
前面两种创建对象的方式一次只能创建一个对象,而有时候很多对象内的属性和方法是大量相同的。  
function Star(name,age){
this.name=name;
this.age=age;
this.sayHi=function(){
console.log("hello");
}
}
var Tom=new Star("Tom",20);
var John=new Star("John",22);
  
9.3 对象的使用和遍历

var obj={
name:"Tom",
age:21,
sex:"男",
sayHi:function(){
console.log("hello");
}
};
for(key in obj){
console.log(key+":"+obj[key])
}
十、内置对象
  
10.1 Math 对象
      
10.2 Date 对象
10.2.1 创建
var today=new Date();
console.log(today);
var date=new Date("2021-10-1 8:8:8");
10.2.2 获得具体时间和格式化
  
var today=new Date();
console.log(today);
?
var year =today.getFullYear();
var month=today.getMonth()+1;
var dates=today.getDate();
var arr=["星期日","星期一","星期二","星期三","星期四","星期五","星期六"];
var day=today.getDay();
console.log("今天是"+year+"年"+month+"月"+dates+"日 "+arr[day]);
10.2.3 获取时间的总毫秒数

var today=new Date();
console.log(today.valueOf());
console.log(today.getTime())
var today=+new Date();
var today=Date.now();
10.3 数组对象
10.3.1 创建数组的两种方式

10.3.2 检测是否为数组

10.3.3 添加删除元素

10.3.4 数组排序

10.3.5 获取元素索引
 案例:数组去重
var arr=["a","v","a","b","d","v","b","v","d"];
function unique(arr){
var newArr=[];
for(var i=0;i<arr.length;i++){
if(newArr.indexOf(arr[i])==-1){
newArr.push(arr[i]);
}
}
return newArr;
}
arr=unique(arr);
console.log(arr);
10.3.6 数组转化为字符串

10.3.7 切片和拼接

10.4 基本包装类型和字符串对象
10.4.1 基本包装类型

10.4.2 字符串的不可变性
 
10.4.3 字符串的操作方法
 案例:统计某字符在字符串中出现的位置和次数
var str="adsmccpiifazxsdwaaocdawalojnheqaadf"
function findChar(str,char){
var count=0;
indexs=[];
for (var index=0;str.indexOf(char,index+1)!=-1; ){
indexs.push(index);
count+=1;
index=str.indexOf(char,indexs[count-1]+1);
}
r={
count:count,
indexs:indexs
}
return r;
}
console.log(findChar(str,'a'));
 案例:统计各个字符出现的次数
var str="adsmccpiifazxsdwaaocdawalojnheqaadf"
function countChar(str,char){
r=new Object();
for(var i=0;i<str.length;i++){
if(r[str[i]]){
r[str[i]]+=1;
}
else{
r[str[i]]=1;
}
}
return r;
}
console.log(countChar(str));

|