美文网首页
web前端新手常犯的错-错误列表1

web前端新手常犯的错-错误列表1

作者: 刘叶青 | 来源:发表于2019-04-19 17:20 被阅读0次

同时给一个元素设置浮动和定位,其实这是不规范的写法,一般只会给元素设置浮动和定位中的一个

喜欢看视频,不喜欢做项目,这是错误的思想,因为做项目可以提高自己灵活运用的能力,而且记忆更深刻,学习视频只能学到单个知识点而且容易忘记

不知道做事情的先后顺序,我让他再巩固一下,结果他竟然去练习打字,打字应该是下班以后做的事情,而不是上班期间做的事情

用if语句判断2个值是否相等时,用'==',不要用'=',如果用'=',返回的布尔值永远是true

写一大堆代码,然后在浏览器里感觉跟自己的期望结果相差太大,然后不知道怎么调试,然后就不知所措,最终找其他人帮忙解决,其实新手应该写一点就测试一点,这样出现问题时,问题的范围小,容易知道出现问题的原因

关于this,提供一篇参考文章(http://www.ruanyifeng.com/blog/2018/06/javascript-this.html):

obj.fn()时,我们说:obj调用了fn();如果没有显式地调用fn,比如fn()或者setTimeout(fn)时,fn里的this是window;

f1(fn)时,我们说,fn是f1的一个参数,只不过这个参数是函数,并不是f1调用了fn

setTimeout(function () {

console.log(this);  //window

});

var obj = {

name : 1,

get_name : function () {

console.log(this);    //有一个初学者以为this写在这里,所以this永远是obj,这是错误的

}

};

obj.get_name();

var fn = obj.get_name;

fn();

window.fn();

// 结论:谁调用函数,this就是谁

学习时,要先熟悉代码,再理解语言的优势,而不是去找语言的漏洞、缺点

初学者在回答有点复杂的问题时,要一步一步写,不要在脑子里想,那样容易错

for(var i = 0;i < 4;){

    i++;

    console.log(i);

}

如果问你上面代码的运行结果时,你要像我这样,一步一步写出来,这样不容易错:

// var i = 0;i < 4吗?true,i++;i = 1,console.log(1);

// i = 1,i < 4吗?true,i++;i = 2,console.log(2);

// i = 2,i < 4吗?true,i++;i = 3,console.log(3);

// i = 3,i < 4吗?true,i++;i = 4,console.log(4);

初学者喜欢用img标签不喜欢用背景图片,其实有些场景用背景图片更合适

喜欢用css,不喜欢用scss,其实这是一种保守思想的体现,不利于技术进步

喜欢用原来的es5语法,经常不用es6的语法,其实用es6的语法往往更简洁

喜欢用css2的东西,不喜欢用css3的东西,其实学习阶段,应该是多用新技术更好

不要出现没用的代码,比如<img alt=''>,这里的alt=''就是没用的代码

问:var a = '1.1';

    console.log('parseInt(a)', parseInt(a));

    console.log('a', a);

    明明parseInt(a)已经变了,为什么a没变?

答:因为使用parseInt(a)没有修改原数据,如果需要修改原数据(a),就要使用a = parseInt(a);

包括数组的join、slice也没有对原数组产生影响

喜欢先把英文翻译成中文后去理解,比如会问你document是什么意思

把js和css混淆在一起写,比如:

<style>

    div{

        background: #f00;

    }

    console.log(1);

</style>

不知道加空格是规范还是语法规则,这时可以自己加1个空格试试会不会报错,如果会报错,说明是语法规则,不会报错说明是规范

把obj[name]和obj['name']混淆

把undefined和'undefined'混淆,把'null'和null混淆,把1和'1'混淆

以为css之间存在依赖关系

相关文章

网友评论

      本文标题:web前端新手常犯的错-错误列表1

      本文链接:https://www.haomeiwen.com/subject/lsscgqtx.html