-
运算符前置和后置的区别
i--;这个操作
前置的话返回他递后之前的值
后置的话返回递减之前的值
后置: var i = 5; var a = i--; console.log(i);//输出4 console.log(a);//输出5 前置: var j = 5; var b = --j; console.log(j);//输出4 console.log(b);//输出4 -
【计算题】js调用时,this的计算题
var color = 'green'; var test4399 = { color:'bule', getColor:function(){ var color = 'red'; alert(this.color); } } var getColor = test4399.getColor; getColor();//this指向window test4399.getColor();//this指向test4399打印green和bule
-
Number(参数)将不同类型转为0
Number() Number(0) Number('') Number('0') Number(false) Number(null) Number([]) Number([0]) -
用Math函数求一个数组的最大值
Math.max.apply(null,a) -
typeof Symbol() //"symbol" typeof Number() //"number" typeof String() //"string" typeof Function() //"function" typeof Object() //"object" typeof Boolean() //"boolean" typeof null //"object" typeof undefined //"undefined" -
背
- For循环是按顺序的,for in 循环是不一定按顺序的
- hasOwnProperty(..) 只会检查属性是否在myObject 对象中,不会检查[[Prototype]] 链
- enctype的默认值是application/x-www-form-urlencoded
- footer是HTML5标签,foot不是HTML5标签
-
页面打开后能够弹出alert(1)的是?
<iframe src=”javascript: alert(1)”></iframe> <img src=”” onerror=”alert(1)”/> IE下<s style=”top:expression(alert(1))”></s> <div onclick=”alert(1)”></div>//不能打开的原因是div的宽度为0,无法点击 -
relative 生成相对定位的元素,相对于其本身在文档流中的定位来进行定位。
relative不是相对父元素定位
在Microsoft Internet Explorer 中,盒模型默认使用的是 border-box,只有在缺少DOCTYPE(文档类型声明)时,在IE6~IE8中会触发怪异模式
-
常见的不支持冒泡的事件(失聚焦鼠标移载不载重大小)
①focus
②blur
③mouseenter
④mouseleave
⑤load
⑥unload
⑦resize
-
哪些技术可用于优化 CSS 图片加载 ?(背)
-
CSS Sprite:又称为CSS精灵或者雪碧图,是一种网页图片应用处理方式。它允许你将一个页面涉及到的所有零星图片都包含到一张大图中去,当访问该页面时,载入的图片就不会像以前那样一幅一幅地慢慢显示出来。主要通过background-position定位,能很好地减少网页的http请求,从而大大的提高页面的性能。
-
SVG Sprite 体积小,矢量
【张鑫旭博客】[www.zhangxinxu.com/wordpress/2…]
-
Icon font:图标字体,也叫字体图标,就是字体做的图标。能自由变化大小,且不会模糊。比图片小,加载快。可以任意改变颜色。
-
Base64:可以将一副图片数据编码成一串字符串,使用该字符串代替图像地址。图片的下载始终都要向服务器发出请求,而通过base64编码后可以随着 HTML的下载同时下载到本地,减少 http 请求。
-
-
开始拖动元素或选择文本的事件
Internet Explorer 8 及更早 IE 版本或 Safari 5.1 及更早版本的浏览器不支持 drag 事件
<p draggable="true" ondragstart="myFunction(event)">拖动我!</p><div class="droptarget" ondrop="drop(event)" ondragover="allowDrop(event)"> <p ondragstart="dragStart(event)" ondragend="dragEnd(event)" draggable="true" id="dragtarget">拖动我!</p> </div> <div class="droptarget" ondrop="drop(event)" ondragover="allowDrop(event)"></div>function dragStart(event) { event.dataTransfer.setData("Text", event.target.id); document.getElementById("demo").innerHTML = "开始拖动 p 元素"; } function dragEnd(event) { document.getElementById("demo").innerHTML = "完成 p 元素的拖动。"; } function allowDrop(event) { event.preventDefault(); } function drop(event) { event.preventDefault(); var data = event.dataTransfer.getData("Text"); event.target.appendChild(document.getElementById(data)); } -
正则表达式又错了
^ : 匹配字符串的开头;
$ : 匹配字符串的结尾;
* ; 出现零次到多次;
+ :出现一次到多次;
?: 出现零次或一次;
. : 除了\n以外的任意字符
{n} : 出现n次;
{n,m}: 出现n到m次;
{n,}: 出现n次到多次
-
下列哪些CSS选择器有效或无效
- .className a √
- .className .a √
- a.className a × 标签a不能含有标签a
- a.className .a √
- span[data-type=1] √
- .className:first-child √
- div:before √ : 和::都可以
- i:span ×
-
左移和异或的计算题
function a(a) { a^=(1<<4)-1; return a; }1<<4 转为二进制为01 左移相当于10000 二进制转为16
(1<<4)-1 为15 二进制 1111
^为异或计算 10二进制 异或运算为比较对应的二进制位是否相同,相同为0,不同为1
1010
1111
0101
答案为5
-
JavaScript内部,所有数字都是以64位浮点数形式储存,即使整数也是如此
一个字节8位 number在JavaScript中为8byte
-
如果文档包含框架(frame 或 iframe 标签),浏览器会为 HTML 文档创建一个 window 对象,并为每个框架创建一个额外的 window 对象。
-
Symbol为了解决什么问题(背)
作为一个
独一无二的key, 放置数据的, 防止数据因为重复, 无法存进数据对象中