面试题节选整理:
一.写出transform的所有元素,并且标明含义
Transform: rotate 旋转 / scale缩放 / skew扭曲 / translate 移动 / matrix 矩阵变形;
二.写出opacity的五大兼容性
.opacity{
filter:alpha(opacity=50); //IE浏览器
opacity:0.5 //除IE外的主流浏览器
。。。
}
三.设置背景颜色时,后边跟的五个属性值分别是?
1.Background-color: 背景颜色取值
2.Background-image:url(图片路径) 设置背景图
3.Background-repeat: 设置背景图是否重复(只在有背景图的 前提下才有效)
background-repeat:属性值1 [,属性值2];
有以下几个属性值可用:
repeat: 重复,默认值;
no-repeat: 不重复;
repeat-x: 只在x方向重复;
repeat-y: 只在y方向重复;
4.Background-position:背景位置
5.background-attachment: 背景滚动
背景混合属性:
四.=,==,===有什么区别?
=:一个等号是赋值给变量操作 ==:是等值符,俩边类型不同时,要先转换类型再比较 ==和equality等同 ===:称为(恒等于)等同符:不做类型转换,类型不同一定不等 === identity恒等先说 ===
1、如果类型不同,就[不相等]
2、如果两个都是数值,并且是同一个值,那么[相等];(!例外)的是,如果其中至少一个是NaN,那么[不相等]。(判断一个值是否是NaN,只能用isNaN()来判断)
3、如果两个都是字符串,每个位置的字符都一样,那么[相等];否则[不相等]。
4、如果两个值都是true,或者都是false,那么[相等]。
5、如果两个值都引用同一个对象或函数,那么[相等];否则[不相等]。
6、如果两个值都是null,或者都是undefined,那么[相等]。
再说 ==,根据以下规则:
1、如果两个值类型相同,进行 === 比较。
2、如果两个值类型不同,他们可能相等。根据下面规则进行类型转换再比较:
a、如果一个是null、一个是undefined,那么[相等]。
b、如果一个是字符串,一个是数值,把字符串转换成数值再进行比较。
c、如果任一值是 true
NaN,是Not a Number的缩写。 NaN 用于处理计算中出现的错误情况。
五.把所有操作事件写出来
属性 当以下情况发生时,出现此事件
onabort 图像加载被中断
onblur 元素失去焦点
onchange 用户改变域的内容
onclick 鼠标点击某个对象
ondblclick 鼠标双击某个对象
onerror 当加载文档或图像时发生某个错误
onfocus 元素获得焦点
onkeydown 某个键盘的键被按下
onkeypress 某个键盘的键被按下或按住
onkeyup 某个键盘的键被松开
onload 某个页面或图像被完成加载
onmousedown 某个鼠标按键被按下
onmousemove 鼠标被移动
onmouseout 鼠标从某元素移开
onmouseover 鼠标被移到某元素之上
onmouseup 某个鼠标按键被松开
onreset 重置按钮被点击
onresize 窗口或框架被调整尺寸
onselect 文本被选定
onsubmit 提交按钮被点击
onunload 用户退出页面
六.原生js获得八种方式
- 通过ID获取(getElementById)
- 通过name属性(getElementsByName)
- 通过标签名(getElementsByTagName)
- 通过类名(getElementsByClassName)
- 通过选择器获取一个元素(querySelector)
- 通过选择器获取一组元素(querySelectorAll)
- 获取html的方法(document.documentElement)----》 document.documentElement是专门获取html这个标签的
- 获取body的方法(document.body)----》 document.body是专门获取body这个标签的
七.设置一个线性渐变和径向渐变
线性渐变: linear-gradient()
创建重复的线性渐变图像: repeating-linear-gradient()
1.先认识canvas标签,是用于图形的绘制,通过js来完成,
注意:canvas只是个图形容器,绘制图形还须使用脚本。
亲测有效:
径向渐变: radial-gradient()
颜色渐变从一起点向各个方向渐变,与线性渐变差不多,只不过创建渐变的时候用的另一函数
Var radial = ctx.createRadialGradient(x1,y1,r1,x2,y2,r2)
…
…
x1,y1起始点的圆心坐标,r1:起始点 圆的半径
X2,y2结束点的圆心坐标 r2结束点 圆所在的半径
重复的径向渐变创建图像 repeating-radial-gradient()
八.写出俩种定时器,并写出清除的方法
定时器:
1.Setlnterval(cb,ms)
清除定时器的方法:clearInterval(timer);
2.setTimeout(cb,ms)
清除定时器:clearInterval(timer);
九.画一个尖尖儿朝上的三角形
效果就是这样的啦
十,函数调用的三种方式:
结语:
每周专业老师都会考察我们10道面试题,显而易见,面试题考的都挺细致的,这10道应该只能算是初级的了,虽说是初级,但我也还是存在着不少问题,害~
今天有看到一句话:一个人的对手不是别人而是自己,不是自己的智商,而是自己的懒惰!惰于思考。我太懒了,而且浮躁,这很不好,呼,不盲目着急,慢慢来吧,多敲,每天进步一丢丢!