随着一阶段的结束,开始二阶段JS的学习。首先,要学会接受适应这个转变,积极调整个人状态。JS更加注重逻辑思维,重在理解练习。
学习过程中遇到苦难不足为奇,这个过程本就不是一帆风顺的。不能因为遇到一点点苦难就随便想着放弃,如此,即背叛了来千锋学习的初衷。
拼搏到无能为力,坚持到感动自己——这句话牢记心中,落到实处。尤其是即将落后的时候,更应该多付出一些努力,点点滴滴的积累,总会有所回报。
一、学习方法问题讨论
这个东西该怎么学呢?对于大部分同学来说都是零基础。首先我觉得要培养编程的思维模式,学会用编程的思想去解决问题。拿到一个需求,先在心中大致勾勒出实现的大概路径,以当前所学的知识,尝试着实现某些功能。
当然,尝试的过程未必那么美好。明明自信满满写出的程序,bug却从未间断过。此时,一定不要放弃。回头反思一下,基础知识掌握是否出了问题?又或者程序流程设计不严谨所致。出了问题就想办法解决问题,在解决问题的过程中,才能更快的成长。一句话:没有bug,努力创造bug来解决。也许某个程序一不小心写对了,但是下次遇到bug又不知所措,不如直接尝试一下,这段代码换个地方,或者换种方法,看看会不会出现意想不到的结果。
基础学习+实践+总结+反复练习,这是我目前总结的最好的学习方法。
二、你学或不学,知识就在那里,但是你要想办法把他转化成自己的
举个例子:
函数的作用域:
知识点多,而且很碎,哪一点记不清楚应用的过程中就很容易出错。把容易混淆的情形下的应用放到一起运行,比较,更容易区分理解作用域的定义。
此处仅以此为例,好多对象、数组的方法都很容易记混,写在代码注释里,想不起来了运行一下看看效果。也没啥好总结的,多练习就对了。
<
var b = 20;
function foo(){
console.log(a,b);//访问的是全局变量
}
foo();*/
<
/*var a = 10;
var b = 20;
function foo(){
console.log(a,b);//这里的a,b和实参a,b无关,因为没有形参
}
foo(a,b);*/
<
/*var a = 10;
var b = 20;
function foo(x,y){
console.log(a,b);//在函数内没有用到x,y
}
foo(a,b);//实参a,b传给了x,y*/
<
/*var a = 10;
var b = 20;
function foo(x,y){
console.log(a,b);
}
foo();*/
<
/*var a = 10;
var b = 20;
function foo(a,b){
console.log(a,b);//取形参a,b值
}
foo();*/
<
/*var a = 10;
var b = 20;
function foo(a,b){
var a = 20;
console.log(a,b);
}
foo(a,b);*/
<
/*var a = 10;
var b = 20;
function foo(a,b){
console.log(a,b);
var a = 20;
console.log(a,b);
}
foo(a,b);*/
<
/*var a = 10;
var b = 20;
function foo(){
console.log(a);
var a = 30;
}
foo();*/
<
/*var a = 10;
var b = 20;
function foo(a){
var a = 30;
console.log(a);
}
foo(a);*/
<
/*var a = 10;
function foo(){
a = 20;//全局变量
}
foo();
<
console.log(a);*/
<
/*var a = 10;
function foo(){
var a = 20; //在函数调用完成销毁
}
foo();
<
console.log(a);*/
<
/*var a = 10;
function foo(a){
a = 20;
}
foo();
console.log(a);*/
<
/*var a = 10;
function foo(){
a = 20;
var a = 30;
}
foo();
console.log(a);*/