同时给一个元素设置浮动和定位,其实这是不规范的写法,一般只会给元素设置浮动和定位中的一个
喜欢看视频,不喜欢做项目,这是错误的思想,因为做项目可以提高自己灵活运用的能力,而且记忆更深刻,学习视频只能学到单个知识点而且容易忘记
不知道做事情的先后顺序,我让他再巩固一下,结果他竟然去练习打字,打字应该是下班以后做的事情,而不是上班期间做的事情
用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之间存在依赖关系
网友评论