CVTE前端笔试编程题
這些題目是做完筆試之后,在別的地方找到的,現在附上。
1.(1)這題考察的怎么把參數轉換為數組,然后再截取你想要的位數。
function C(){var a_args=Array.prototype.slice.call(argumens,0,2);var b_args=Array.prototype.slice.call(arguments,2);A.apply(this,a_args);B.apply(this,b_args);}在函數內部,arguments和this是兩個特殊的對象,其中arguments是一個類數組對象,包含了傳入函數中所有參數,可能有的小伙伴會說為何不直接用arguments.slice(0,2);arguments.slice(2).原因是:雖然arguments是個類數組對象,并擁有length屬性,但是沒有數組的其他方法,它并不是一個真正的數組,可以用(arguments instance of ?Array )來驗證,所以不能直接用slice方法,必須用Array.prototype.slice.call轉換成真正的數組。才能調用slice方法,否則會報錯的。
(2)另外還可以用到ES6函數擴展中rest參數,
function C(...s){A.call(this,s[0],s[1]);B.call(this,s.slice(2)); }function C(...s){A.apply(this,s.slice(0,2));B.apply(this,s.slice(2)); }function C(){A(arguments[0],arguments[1]);B(Array.prototype.slice.call(arguments,2)); }這幾種方法都是ok的2.這個可以用正則表達式,也可以定義。
function template(source){var temp=source;return function(obj){for(var prop in obj){var tpl="<%="+prop+"%>";temp=temp.replace(tpl,obj[prop]);}console.log(temp);}}用for-in循環獲取對象的鍵名,從而獲得鍵值,有意思的是不能直接獲取鍵值。這題后來看到有大神考慮到xss漏洞,模板安全的問題,后來查了查,確實是這樣,它的產生與多數模板有關(詳情請移入深入淺出node.js,第八章),下面我貼出一些代碼。
注:這是別人的代碼,僅供參考。
不說了,我要去擼代碼去了,還有繼續努力,大家加油。
?
轉載于:https://www.cnblogs.com/yyfyl/p/7495580.html
總結
以上是生活随笔為你收集整理的CVTE前端笔试编程题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2017前端资源汇总
- 下一篇: 如何把我的Java程序变成exe文件?