牛客网刷题总结(一)-腾讯春招前端笔试题
1.$.ajax()函数依赖服务器提供的信息来处理返回的数据。如果服务器报告说返回的数据是XML,那么返回的结果就可以用普通的XML方法或者jQuery的选择器来遍历。如果见得到其他类型,比如HTML,则数据就以文本形式来对待。 通过dataType选项还可以指定其他不同数据处理方式。除了单纯的XML,还可以指定 html、json、jsonp、script或者text。
2.JS 中值的类型分为原始值类型和对象类型。原始值类型包括 number, string, boolean, null 和 undefined;对象类型即 object。首先原始值类型它就不是对象。
3.另外,要注意 ‘hello’ 和 new String(‘hello’) 的区别,前者是字符串字面值,属于原始类型,而后者是对象。用 typeof 运算符返回的值也是完全不一样的:
typeof hello; // string typeof new String(hello); // object
4.通常来说判断一个对象的类型使用typeof,但是在new String的情况下的结果会是object 此时需要通过instanceof来判断
5.存储技术总结: 浏览器端: cookie WebStorage(localStorage、sessionStorage) userData indexedDB 服务器端: session
6.JavaScript中有5种简单数据类型(也称为基本数据类型): Undefined、Null、Boolean、Number和String 。还有1种复杂数据类型—— Object ,Object本质上是由一组无序的名值对组成的。
7.<dl>标记定义了一个定义列表,定义列表中的条目是通过使用<dt>标记(“definition title”,定义标题)和<dd>标记(“definition description”,定义描述)创建的。<dt>给出了术语名,<dd>标记给出了术语的定义。
8.块级元素: 行内元素: 块级元素与行内元素的区别 (1)块级元素会独占一行,其宽度自动填满其父元素宽度; 行内元素不会独占一行,相邻的行内元素会排列在同一行,直至一行排不下才会换行,其宽度随元素的内容而变化。 (2)块级元素可以包含行内元素和块级元素;行内元素不能包含块级元素。 (3)行内元素设置width、height、margin-top、margin-bottom、padding-top、padding-bottom无效。 块级元素与行内元素的转换 display:inline-block; display:inline; display:block; 可变元素 9. CSS3新增属性用法整理: 1、box-shadow(阴影效果) 2、border-color(为边框设置多种颜色) 3、border-image(图片边框) 4、text-shadow(文本阴影) 5、text-overflow(文本截断) 6、word-wrap(自动换行) 7、border-radius(圆角边框) 8、opacity(透明度) 9、box-sizing(控制盒模型的组成模式) 10、resize(元素缩放) 11、outline(外边框) 12、background-size(指定背景图片尺寸) 13、background-origin(指定背景图片从哪里开始显示) 14、background-clip(指定背景图片从什么位置开始裁剪) 15、background(为一个元素指定多个背景) 16、hsl(通过色调、饱和度、亮度来指定颜色颜色值) 17、hsla(在hsl的基础上增加透明度设置) 18、rgba(基于rgb设置颜色,a设置透明度)
/* 删除数组元素Array中的重复元素,并且返回删除元素的新数组 */ Array.prototype.distinct = function(){ var res = []; for(let i = 0; i < this.length; i++){ for(let j = i + 1; j < this.length; j++){ if(this[i] == this[j]){ res.push(this.splice(j, 1)[0]); break; } } } return res; } //test document.write([a, b, c, d].distinct());