首页 > 代码库 > 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 />、&nbsp;

html输出空格&nbsp;(分号不能丢)

<hr />:空标签,在页面上画下一条水平线。

 

第一天,over。

 

web学习日记1