時間一晃,距離上次面試有米已經有一年的光景了,那一次面試,是有米招實習生的時候跑去的,並且仍是霸面。不用多想,那次確定是以失敗了結,此次算捲土重來嗎?我問本身,但是答案好像不是,我儘管拿到了offer 可是我仍是以爲我在技術上弱不由風javascript
我以爲我全身都能被師兄師姐的前輩找到一個軟肋html
我真的理解javascript嗎?沒有,不少深層次的代碼我壓根沒見過,更談不上是研究。好比此次面試的遇到的前端
var x = 10,java
foo = {node
x: 20,面試
bar: function () {segmentfault
var x = 30;api
return this.x;瀏覽器
}前端工程師
};
console.log(
foo.bar(),
(foo.bar)(),
(foo.bar = foo.bar)(),
(foo.bar, foo.bar)()
);
結果是什麼:20 20 10 10
參數2:調用 foo 的 bar 方法,所以 bar 的 this 指向(做用域)爲 foo,所以就等因而取 foo 上面的 x 屬性(也就是 foo.x)的值,那麼語句返回的值就是 20
參數3. (foo.bar = foo.bar)()
由於先有一個符號運算,因此至關於以下代碼:var fuc = (foo.bar = foo.bar); fuc();
而根據 ECMA手冊 所述:
The production AssignmentExpression : LeftHandSideExpression =
AssignmentExpression is evaluated as follows:
Let lref be the result of evaluating LeftHandSideExpression.
Let rref be the result of evaluating AssignmentExpression.
Let rval be GetValue(rref).
Throw a SyntaxError exception if the following conditions are all true:
IsStrictReference(lref) is true
Type(GetBase(lref)) is Environment Record
GetReferencedName(lref) is either "eval"
or "arguments"
Call PutValue(lref, rval).
Return rval.
咱們知道賦值運算總返回右邊的值。此時的fuc = function () { x = 30; return this.x; }
。運行fuc()
就至關於普通的定義一個函數執行,調用的是全局對象window
,那麼此時的this.x = window.x = 10
。
關於等號賦值的文章還能夠看看這篇:http://cmc3.cn/n/217.html
參數4.(foo.bar, foo.bar)()
一樣先有一個符號運算,因此至關於以下代碼:var fuc = (foo.bar, foo.bar); fuc();
而根據 MDN手冊 所述:
The comma operator evaluates each of its operands (from left to right) and returns the value of the last operand.
咱們知道了逗號運算老是返回最後一個的值。此時的fuc
和第三個是同樣的fuc = function () { x = 30; return this.x; }
,因此結果和第三個是同樣的。
關於逗號運算的文章還能夠看看這篇:http://www.feeldesignstudio.com/2013/09/javascript-comma-operator
(以上答案轉自 http://segmentfault.com/q/1010000000582327)
這些涉及對象和匿名函數的知識我能夠說是很模糊
2.前端是要作什麼的?
哈哈,我百度百科
。
這張圖把我嚇尿了。
若是說前端工程師是十八層
我如今應該是第一二層。
3.喜歡PHP,瞭解嗎?瞭解多少呢?
我是瘋了,我居然說最新的PHP是6,真是360°各類亂入。
我確實是要學PHP,可是個人認識是在大學的時候老師教的一點還有本身在w3sc看過一些api。簡單知道一些函數,我內疚
因此在接下來的時間裏不能停留在只會安裝,只會照樣畫葫蘆了。要深刻
4.你看了多少書?哪些網站是你喜歡的?
這個。。。我能夠說不少嗎?可是我卻沒有深究過一本,或者說深究的那些都是入門級的,好比21天教你網頁設計。。。。看得比較細的那一本是鋒利的jQuery 。最近看的《node.js開發指南》也是斷斷續續,一問三要想。網站的瀏覽更多隻是創建在
瀏覽,
5.如何在網頁中畫出0.5px的細線 :不一樣的瀏覽器對小數點的支持度不大同樣
6.爲什麼我有會有壓力
由於開發環境是Linux嗎?雙屏嗎?仍是有老同窗在那裏 而後看到本身的差距?這一年我都幹什麼去了、。
我一貫都是那種倔脾氣,不懂就學,有壓力就去減壓!!
感謝面試官都還記得我,但願接下來的日子我收穫更多。