首页 > 代码库 > web学习日记1
web学习日记1
web学习日记1
1.js在使用函数时加不加括号的区别
在慕课网的技术分享(原文链接;http://www.imooc.com/wenda/detail/237566)中遇到这个问题,之前有疑惑,趁着这个机会解开。
题目代码:
1 var fullname = ‘John Doe‘; 2 var obj = { 3 fullname: ‘Colin Ihrig‘, 4 prop: { 5 fullname: ‘Aurelio De Rosa‘, 6 getFullname: function() { 7 return this.fullname; 8 } 9 }10 };11 console.log(obj.prop.getFullname());12 var test = obj.prop.getFullname;13 console.log(test());
第一次看这个题时,有点懵,我能知道这个题目的用意可能就是我一直疑惑的地方。
第 一遍分析下来,结果是:Aurelio De Rosa和Aurelio De Rosa。感觉不对劲,看了答案,第二个输出是John Doe。不懂,这是obj对象的方法,第一个输出无疑是Aurelio De Rosa,关键是第二个。反映到代码中就是这一句的问题:
var test = obj.prop.getFullname;
我注意到这里方法getFullnam是没有括号的,问题应该就在这里。开始上网找答案。看过几个之后,简单说下我的理解。
不加括号的是函数的引用,相当于把getFullname这个函数的引用赋给test。而加了括号的函数就是函数的执行,返回这函数的结果。
这个题目还有一个特别之处就是getFullname这个方法内部有this,第一次调用的时候,this指的是obj对象。而赋给test之后,this就是全局了。所以在调用test()的时候,自然输出是全局的fullname,也就是John Doe。
我 的理解就是,比如说这个方法是在美国的一个措施,很有效,中国看见这个很好,照搬一套过来,但是这措施里有一条写着“首部人民要do something"。原本在美国,这自然是Washington D.C.人民的事,但是到了中国,这就是北京人民的事了。哈哈,这么想来还挺好理解的。。
2.font-size的三个单位
px:像素,用于计算机等屏幕输出。
em:通过比例形式,实现缩放。
pt:用于打印机的输出,作用有限。
一般情况下,px和em搭配使用较好。
3.html标签<hr />、
html输出空格 (分号不能丢)
<hr />:空标签,在页面上画下一条水平线。
第一天,over。
web学习日记1