学习目标
学英文怎么学?
先学26个字母,
每个字母常见的基本单词
短对话和场景
音标+语法
常见固定用法和语句和场景解析
结果: 认识一些单词,会一些单词,会写一些单词, 不会交流-------练习
1.丢到语言环境下. —多听,多练,多写,多背,多说,多读,多看------这不是一般能搞定的—时间线
2. 字母(26)----1周
3. 日常词汇: 星期, 数字,水果, 颜色
4. 日常交流语句(只学10句)–1周–100句交流用语就够
5.积累更多的句子,去实际的练习,学习音标,语法(大概的学)
学中文怎么学?
先学拼音字母,
简单的笔画
简单的汉字
简单词语
简单的句子,文章
古诗词,文言文,各种类型的文章
语法,考试.
结果: 认字,读字,写字,交流--------听说读写
认识字母:基础知识的积累 -----基本入门
拼音和语法,不是必须项----因为是理论的东西.
笔画-----1年 ------ 必要的基本功
简单的汉语,单词,句子,文章------- 只能慢慢去积累-----基本常识
交流和表达的应用: -------表达能力-----能力
常识, 知识,能力 经验
大部分知识是常识: 认识,听过,见过,用过
知识: 盒子模型 浮动 定位
能力: 流程,规范,步骤,固定的套路.---- 跟着做–2
经验: 1.自己做过哪些 2.自己犯过哪些错. —看的别人
学习的过程中: 每一个阶段都需要大量的练习,和对抗自己的惰性以及想放弃的想法.
1.找到一种可以让自己具体去做的,想去动手的状态.
2.找到一种可以明显感觉自己有所提升的方法(自己要清楚分寸.)
算学会吗?
怎么学?
练几遍?
有收获吗?
知识讲解
循环语句
代码中的循环表示重复去做某件事.
for循环
// for循环的表达式之间用的是;号分隔的,千万不要写成, for (开始条件; 条件范围; 条件增量) { // 循环体4 } // 方式1 常用 for (var i = 1; i <= 100; i++) { console.log(i); }
执行顺序
1.初始化变量
2.条件表达式 -> 3.循环体 -> 4.自增表达式
之后 一直 执行 234 -> 234,直到条件表达式为 false,才结束循环。
while循环
// 当循环条件为true时,执行循环体, // 当循环条件为false时,结束循环。 while (循环条件) { //循环体 } 注意: while循环需要自己添加开始条件,和循环增量,不然容易出现死循环.
do-while循环
// 1. 语法 do { // 循环体; } while (循环条件);
continue和break的使用
break:立即跳出整个循环,即循环结束,开始执行循环后面的内容(直接跳到大括号) continue:立即跳出当前循环,继续下一次循环(跳到i++的地方)
三种环的区别
while和do-while都是在不确定循环执行次数的情况下使用 do-while是先执行一次再判断 while是先判断,再执行 for循环适合在循环范围确定的情况下使用.
数组的基本语法
//数组就表示一组数据,可以同时存储多个数值; 数组用中括号表示[] var a=1; var b="张三"; var c= true; //以前单个存储太费劲了,干脆一起存储 var arr = [1,"张三",true]; // 可以同时存储多个数值,arr是变量名,里面存着数组 //如何获取数组中的值 //定义一个数组 var arr = ["张三","李四","王五"]; //获取数组中的某个值 arr[0] //表示数组中的第一个值,张三 arr[1] //表示数组中的第二个值,李四 console.log(arr[0]) //获取数组的长度arr.length console.log(arr.length) //获取数组中的最后一个元素 arr[arr.length-1]
建议: 数组最好用来存储同一类型的值.
//更高级的创建数组方法 var arr = new Array();// 创建一个空新数组 //向数组中存储值 arr[0]="张三"; arr[1]="123"; //获取数组中的值 console.log(arr[0]);
数组的练习
遍历数组
var arr = ['pink', 'deeppink', 'hotpink', 'lightpink', 'skyblue']; for (var i = 0; i < arr.length; i++) { console.log(arr[i]); }
求数组的和以及平均值
// 要求:求一组数值 [2, 6, 1, 7, 4] 的和 还有 平均值 // 思路: 2 + 6 + 1 + 7 + 4 本质就是把数组元素相加 // 1. 首先有这个数组,然后才能进行操作 // 2. 找到每个数组元素 然后依次相加 arr[i] 循环 遍历数组 var arr = [2, 6, 1, 7, 4]; var sum = 0; // 存储和 var average = 0; // 存储平均值 for (var i = 0; i < arr.length; i++) { sum = sum + arr[i]; // 数组元素相加 arr[i] } average = sum / arr.length; console.log('此数组的和是:' + sum); console.log('此数组的平均值是:' + average);
函数的基本语法
函数的作用
函数的作用: 可以重用代码,并且灵活可变. 实际价值: 可以帮你做一些事,并且可以将执行结果给你.
函数的语法
函数: 是一个代码块,可以将一堆代码进行保存,并可以多次调用. 非常像类的语法 函数分为: 定义和调用 函数定义:function 函数名{} 类的定义: .类名{} 函数的调用: 函数名() 类的调用: class="类名" 函数也跟类一样可以重复使用,一次定义,多次调用. function sayHi(){ console.log('武汉欢迎您'); } //可以多次调用 sayHi(); sayHi();
函数分为:声明+调用 函数声明: function 函数名(形参){ //代码 } 函数调用: 函数名(实参); 例如: function 点菜(菜名,价格){ console.log("你点的菜是:"+菜名+",你需要付款"+价格) } 点菜("青椒肉丝",23); 函数返回值: 在函数中写一个return,可以将函数中的内容返回给调用者. 形参: 在函数定义的括号变量是形参,本质是一个变量. 实参: 在函数调用的括号中,是具体的值.
注意:
- 函数参数可以有任意多个(0或者其他)
- 形参和实参的个数和顺序必须一一对应.
函数的返回值
在函数中添加return,可以将函数中的结果返回给调用者. return表示函数的结束.
函数的练习
计算任意两个数的和
function getSum(num1, num2) { console.log(num1 + num2); } getSum(1, 3); // 4 getSum(6, 5); // 4
函数的其他写法
函数 function sayHi(){} 匿名函数 function(){} 函数可以当参数和返回值. 括号函数
作用域和预解析
作用域
作用域: 变量的作用范围 //里面可以访问外面的,外面不能访问里面的(就是大括号的区域) 全局作用域: 所有人都可以使用 局部作用域: 部分人可以使用. //--------------------------------------------- var num1 =15; function test(){ var num2 = 100; console.log("函数内"+num1); console.log("函数内"+num2); } console.log(num1); console.log(num2); //所以num1是全局变量, num2是局部变量
预解析
预解析:就是提前解析, 会将变量名字提升.
对象
对象的基本语法
对象就是一个东西. 用代码来描述一个东西,例如车子. 专业点: 对象就是用代码来描述现实世界中的东西 对象是一个概念,但对于JS来说他是一种数据类型,类似于数组一样,可以存放多种类型的数据。 数组是直接放入值,然后数组会给一个编号,而对象需要使用键值对的方式来存放 {} 就表示对象 {name:'张三',age:18,isMarray:false} 这就是一个存放了多个值的对象 var user = { name:'张三', age:18, isMarray:false } 这个就是对象的基本语法了。
var car = { name:'特斯拉', color:'红色', age:30, engine:'电力发动机', fast:function(){ console.log('跑得快') } } car.name car.fast(); //上面将对象字面量存到变量car中,car就是一个对象,因为存了很多东西. 对象就是一个东西,这个东西中存了很多数据,跟基本的数据类型不一样. //对象:就是变量和函数的结合体,方便存储和调用.(还具备抽象能力,将现实事物代码化)
遍历对象
var obj = { name: 'andy', age: 18, sex: '男' } console.log(obj.length); // undefined for (var k in obj) { console.log(k); // 这里的k 是属性名 console.log(obj[k]); // 这里的 obj[k] 是属性值 }
遍历JSON
JSON是一种轻量级的数据交换格式,在行业中大量使用. 格式: 属性:值 注意: JSON的属性和值都需要用双引号包裹. //JSON对象是一种数据存储格式, 与普通对象的区别: 属性名加引号,而且不建议存放函数,因为JSON就是存储数据的,不需要执行代码 var user={ "name":"张三", "age":18, "hobby":["篮球","足球"], } console.log(user); //实际工作中数据传输都是用JSON字符串的格式, 那么就需要将JSON对象转换为JSON字符串 console.log(JSON.stringify(user)); var str = '{"name":"张三","age":18,"sex":"男"}'; console.log(JSON.parse(str)); //实际工作中: 数据传输都是用字符串,而代码中使用都是对象.
对象其他写法
//2.对象创建:因为字面量创建写括号太low,而且上面这种写法格式不严谨太容易出错了 var dog = new Object(); //创建一个空对象 dog.name ="puppy"; dog.type=""; dog.age=2; dog.color="yellow"; dog.bark= function(){} dog.eat = function(){} //访问方法dog.name
//普通函数创建 //工厂方式创建对象: 你给我原材料,我返回一个人给你(其实就用函数包裹起来.) function creatDog (name,type,age,color) { // 1. 创建一个空对象 var dog = new Object() // 2. 给对象添加属性和方法 dog.name = name; dog.type = type; dog.age = age; dog.color = color; //3.给对象添加方法 dog.bark= function(){ console.log('gogogo') } dog.eat = function(){ console.log('chichichi'); } // 4. 返回一个obj对象 return dog; } //直接调用函数,传值 var xiaohei = creatDog('小黑','中华田园犬',2,'黑色'); var xiaohuang = creatDog('小黄','金毛',1,'黄色');
//3.构造函数创建 //默认参数名字就是属性名字,为了区分对象的name使用this, 对象创建在外部创建. function Dog(name,type,age,color) { // this 动态的给对象增加成员 // this 指向了当前对象 this.name = name; this.type = type; this.age = age; this.color = color; this.bark = function () { console.log(this.name + '叫叫叫'); } this.eat = function () { console.log(this.name + ': 吃吃吃'); } } //对象定义一次,可以多次调用. var xiaohuang = new Dog('小黄', '金毛', 2,'黄色'); var xiaohuang = new Dog('小黑', '中华田园犬', 1,'黑色');
new的作用
1.创建一个新的空对象 类似于 new Object();
2.会让this指向这个新的对象(因为这个对象暂时还没有名字,可以用this表示这个对象)
3.给新对象加属性和方法 this.name this.eat=function(){}
4.返回创建好好的对象.