2024 携程笔试题目 2024 携程 Web 前端实习生招聘笔试题 考察 encodeURI encodeURI(), decodeURI()它们都是 Global 对象的方法。 encodeURI()通过将某些字符的每个实例替换代表字符的UTF8 编码的一个或多个转义字符来编码 URI。规则如下: 不会编码保留字符 ; , / ? : @ = + $ 不会编码未转义的字符:字母,十进制数字以及 _ . ! ~ * ( ) 不会编码 Number sign:# 需要注意:由于, +, =未被编码,在 GET 和 POST 请求中被视为特别字符,所以 encodeURI 不能形成适当的` HTTP GET 和POST 请求。因此,要使用 encodeURIComponent()来编码部分字符。 encodeURIComponent()会将传入的部分字符串部分全部进行编码。它的编码规则如下: 未转义的字符:字母,十进制数字以及 _ . ! ~ * ( ) 除了上面的字符,其他字符都会被编码。 decodeURI()作用和 encodeURI()相反。 decodeURIComponent()作用和 encodeURIComponent()相反 考察 linux linux 文件和目录的唯一标识符是什么? inodes 节点 考察 BOM 对象 其他的见 Github 系统对话框 这个东西是最开始学习 JavaScript 了解了的,但是很久不看就有点儿记不清楚了。所以重新总结一下。 一共有三种系统对话框,如下: // alert() // confirm(Are you a boy?) if(confirm(Are you a boy)) { console.log(true); } else { console.log(false); } // prompt(), 参数有两个,第二个可选。 // 第一个参数显示给用户的提示信息,第二个参数是文本输入域的默认值 var result = prompt(Please write your name: + john); var result2 = prompt(Please write your name:); if(result2 !== null) { console.log(result2); } 考察==和===的区别 ==会转型。 ===不会转型。 0 == 0 // true 0 === 0 // false 考察 Date 类型 Date.parse(19000119); // 2207433600000 创建一个日期对象, var now = new Date(), 新对象自动获得当前时间和对象。 假如想根据指定日期和时间的话,就必须传入该日期的毫秒数(从 UTC 时间 1970 年 1 月 1 日起)。 Date.parse(May 25, 2024), 转成毫秒数。 (UTC 时间) Date.UTC(2024, 4, 5, 17, 55, 55), 转 成 毫 秒 数 。20240505175555。(GMT 时间) new Date()会模仿上面 2 种方法,也就是说可以直接向Date()构造函数传入上面两种参数的一种。 但是有一点儿区别,new Date()模仿的时候,都是根据UTC(世界协调时间)时间创建的,而非 GMT(格林尼治标准时间)创建。 考察 CSS3 下列不是 transitiontimingfunction 的单位的是? linear 100ms inherite steps(10) 考察? (50|2 == 50) (50|16 == 50) (50|4 == 50) (50|32 == 50) 不能触发 layout 和 paint 的是? 考察 canvas 考察闭包 function a() { var arg = []; for(var i = 0;i 10;i++) { arg[i] = function() { return i; }; } return arg; } a()[1](); // 10 考察执行环境与作用域 var scope = 1; function p() { var scope; console.log(scope); scope = 3; } p(2); // 2 谈谈对 this 的理解 考察 ES6