2018百度前端

it2023-06-01  74

2018百度前端

文章目录

2018百度前端一、实现函数link,该DOM元素内会给出一段随机文本,可能包含一些链接,比如https://www.baidu.com,或者 www.baidu.com?from=onlineExam,如果出现链接文本,请给该链接文本加上链接标签,用户点击后能直接在新窗口中打开该链接。二、移动端前端开发与PC端比有哪些不同?三、普通字符串和 new String()的区别四、闭包五、常见的URL六、form标签七、Linux系统中某文件的权限是d-r-xrw---x,那么以下描述正确的有()八、Node.js中,下列哪个选项能取得当前脚本文件的路径?九、下列关于Express说法正确的是?十、对于一个基本有序的序列,想让其全部有序,同时想求其最大的5个数,使用哪种排序算法最好?十一、有一个中缀表达式为a*(b-(c+d)),它的后缀表达式可以是什么?


一、实现函数link,该DOM元素内会给出一段随机文本,可能包含一些链接,比如https://www.baidu.com,或者 www.baidu.com?from=onlineExam,如果出现链接文本,请给该链接文本加上链接标签,用户点击后能直接在新窗口中打开该链接。

function link() { var Dom = document.getElementById("jsContainer"); var text = Dom.innerText; var reg = new RegExp("(http://||https://)?www.[-A-Za-z0-9+&@#/%?=~_|!:,.;]+[-A-Za-z0-9+&@#/%=~_|]", "g"); var text = text.replace(reg, function(result) { if ((new RegExp("^www.")).test(result)) { result = "http://" + result; } return '<a target="_blank" href=' + result + '>' + result + '</a>' }) Dom.innerHTML = text; }

二、移动端前端开发与PC端比有哪些不同?

PC考虑的是浏览器的兼容性,而移动端开发考虑的更多的是手机兼容性,因为目前不管是android手机还是ios手机,一般浏览器使用的都是webkit内核,所以说做移动端开发,更多考虑的应该是手机分辨率的适配,和不同操作系统的略微差异化。在部分事件的处理上,移动端多出来的事件是触屏事件,而缺少的是hover事件。 另外包括移动端弹出的手机键盘的处理,这样的问题在PC端都是遇不到的。在布局上,移动端开发一般是要做到布局自适应的,我使用的一直是rem布局,感觉很好。在动画处理上,PC端由于要考虑IE的兼容性,所以通常使用JS做动画的通用性会更好一些,但是CSS3做了很大的牺牲, 而在手机端,如果要做一些动画、特效等,第一选择肯定是CSS3, 既简单、效率又高。 第五: 微信的一些接口组好能去实现一遍,熟悉一下肯定是有好处的,比如通过微信分享文章,title、description、icon等图标的配置,这些还是要会的。

第六: 百度地图的一些API接口,也得去实现一下,这些对于移动端来说,LBS是一个非常重要的特性,所以地图这块肯定是要了解的,在加上百度地图这块已经是一个比较成熟的平台了,所以学起来也比较容易。

第七: CSS3的动画一定要比较熟练,这在移动端用的还是比较多的。

第八: 一般pc端用jquery,移动端用zepto,因为移动端的流量还是比较重要的, 所以引入的资源或者插件,能小则小,一个30k的资源和一个80k的资源,在移动端的差别还是挺大的。


三、普通字符串和 new String()的区别

比较普通字符串,new String()和String()的区别

const str1 = 'lalalalalla'; const str2 = new String('lalalalalla'); const str3 = String('lalalalalla'); console.log(typeof str1); // string console.log(typeof str2); // object console.log(typeof str3); // string

四、闭包

function Test() { var x = 0; return function() { console.log(x++); } } var f1 = Test(), f2 = Test(); f1(); 0 f1(); 1 f2(); 0

因为f1和f2分别是两个函数,开辟了两块不同的空间,因此f2不会在f1的基础上增加。

五、常见的URL

http(s):// 超文本传输协议 ftp:// 传输文件协议 file:// 获取本地文件协议 mailto:// 发邮件协议 tel:// 打电话协议 sms:// 发短信协议

六、form标签

application/x-www-form-urlencoded:在发送前编码所有字符(默认) multipart/form-data:不对字符编码。在使用包含文件上传控件的表单时,必须使用该值。 text/plain:空格转换为 “+” 加号,但不对特殊字符编码。

七、Linux系统中某文件的权限是d-r-xrw—x,那么以下描述正确的有()

d:表示文件类型,代表文件类型为目录。 r-:代表所有者的权限。只读。 xrw-:所有者所属组的权限。x(可执行),r(只读),w(可写). x:非本组成员的权限.可执行

前三位:文件拥有者权限

中间三位:同组群的权限

后三位:其它组群的权限

八、Node.js中,下列哪个选项能取得当前脚本文件的路径?

__filename (√) 可以获得包含文件名的绝对路径__dirname 可以获得当前文件所在的绝对路径(不包含文件名)

九、下列关于Express说法正确的是?

Express不是MVC模型Express是一个NPM模块

十、对于一个基本有序的序列,想让其全部有序,同时想求其最大的5个数,使用哪种排序算法最好?

基本有序,即相当于最好情况,因此只需要看最好情况时间复杂度,即哪种排序的时间复杂度为O(n):插入、希尔、冒泡、桶

十一、有一个中缀表达式为a*(b-(c+d)),它的后缀表达式可以是什么?

中缀表达式转后缀表达式: (1)首先确定表达式表达式A的运算顺序,然后加括号:((1 + (( 2 + 3)* 4 )) – 5 )

(2)从最里面的一层括号开始运算,转换成后缀表达式的方法为:(忽略括号)数字在前,符号在后。 1)( 2 + 3) => 23+ 2) (( 2 + 3)* 4 ) => 23+4* 3) (1 + (( 2 + 3)* 4 ))=> 123+4*+ [按照运算次序,从左到右排列] 4)((1 + (( 2 + 3)* 4 )) – 5 )=> 123+4*+ 5- 后缀表达式为:12 3 + 4 * + 5
最新回复(0)