1.target的五种取值 _blank(新窗口打开) _self(当前页面打开) _parent(在父框架中打开) _top(在整个窗口打开) framename(指定框架打开)
2.便于插入和删除的容器是list 、map、set
3.样式优先级:
!important > id选择器 > 类选择器 = 属性选择器 = 伪类选择器 > 标签选择器 = 伪元素选择器 > 通用选择器 > 继承
内联样式 > 内部样式 > 外部样式
4.H5中用于获取用户当前位置的方法:getCurrentPosition()
5.H5规范声明:应使用<h1>~<h6>
来表示标题,使用<em>
来表示强调的文本,使用<strong>
来表示重要文本,使用<mark>
来表示标注的/突出显示的文本,再没有其他的合适的标签时,才用<b>
作为最后的选项。
6.Android基本UI控件
ScrollView:垂直滚动条
HorizontalScrollView:水平滚动条
ScrollView是FrameLayout的容器,在其基础上添加了滚动,允许显示比实际多的内容。
注意,只能往ScrollView中放置一个子元素,可以是单一的组件,或者是一个布局包裹着的复杂的层次结构。
应用场景:一般对于可能显示不完内容的情况,我们可以直接在布局的外层套个ScrollView或HorizontalScrollView。
7.自定义列表格式
<dl>
<dt>标题</dt>
<dd>内容</dd>
</dl>
8.四种触摸事件(touch类事件)
touchstart:手指触摸到屏幕时触发
touchmove:手指在屏幕上移动时触发
touchend:手指离开屏幕时触发
touchcancel:可由系统进行的触发,比如手指触摸屏幕的时候,突然alert了一下,或者系统中其他打断了touch的行为,则可以触发该事件
9.四种触碰事件(tap类事件)
tap:手指碰一下屏幕会触发
longTap:手指长按屏幕会触发
singleTap:手指碰一个屏幕会触发
doubleTap:手指双击屏幕会触发
10.五种滑动事件(swipe类事件)
swipe:手指在屏幕上滑动时会触发
swipeLeft:手指在屏幕上向左滑动时会触发
swipeRight:手指在屏幕上向右滑动时会触发
swipeUp:手指在屏幕上向上滑动时会触发
swipeDown:手指在屏幕上向下滑动时会触发
11.注释格式
css注释:/*...*/
html注释:<!--...-->
js注释://...
或/*...*/
12.ES6出版后,js的原始数据类型有6种,Undefined、Null、Boolean、Number、String、Symbol
其中,undefined是由null派生出来的,==
会自动将其转化为null,故返回true;如果是严格比较符===
,则不会发生转化,故会返回false。
13.HTML5内建对象CanvasObject.getContext()
用于在画布上绘制,返回一个用于在画布上绘图的环境。
14.jQuery中的$(selector).fadeTo()
方法可以设置元素渐变为给定的不透明度。
$(selector).fadeIn(speed,callback);
淡入已隐藏得元素
$(selector).fadeOut(speed,callback);
淡出
$(selector).fadeToggle(speed,callback)
在淡入淡出之间切换
参数speed:规定效果的时长,可取’slow’、'fast’或毫秒
参数callback:可选,效果执行完后执行的函数名称
$(selector).fadeTo()
元素渐变为给定的不透明度(值介于 0 与 1 之间)
参数speed:规定效果的时长,可取’slow’、'fast’或毫秒
参数opacity:不透明度
参数callback:可选,效果执行完后执行的函数名称
15.在H5中,可以直接将SVG元素嵌入HTML页面中。
16.假设val已经声明,可定义为任何值,则下面js代码有可能的输出结果为?
console.log('Value is' + (val != '0') ? 'define':'undefined';
加号运算符优先级高于三目运算符,低于括号,故括号中的值无论是真或假加上前面的字符串都是字符串,为true,输出’define’
17.在js中,全局变量在函数外声明,并可从脚本的任何位置访问
18.div元素默认值为0的CSS属性:margin、padding
div元素默认值不为0的CSS属性:
border-top-width:设置一个元素的顶部边框的宽度,默认值为medium(thin–细,medium–中等,thick–粗,可自定px)
outline-width:指定轮廓的宽度,位于边框的边缘外围,默认值为medium(thin–细,medium–中等,thick–粗,可自定px)
19.<canvas>
标签(行内块元素)定义图形,它只是图形容器,必须使用脚本来绘制图形。
实例:
<canvas id = 'myCanvas'></canvas>
<script type="text/javascript">
let canvas = document.getElementById('myCanvas');
let kk = canvas.getContext('2d');
kk.fillStyle = 'red';
kk.fillRect(0,0,80,100);//x,y,width,height
</script>
20.
<menu>
标签定义菜单列表,当希望列出表单控件时使用该标签
<embed>
标签定义了一个容器,用来嵌入外部应用或互动程序(插件)
<blockquote>
标签定义块引用,<blockquote></blockquote>
之间的所有文本都会从常规文本中分离,浏览器在 blockquote 元素前后添加了换行,在左右两边进行缩进(增加外边距),即块引用有自己的空间。
实例:
12312
<blockquote>
dvadcs
</blockquote>
123
21.
onchange
:用户改变域的内容时触发
onkeypress
:某个键盘的键被按下或按住时触发
onmousedown
:某个鼠标按键被按下时触发
onfocus
:元素获取焦点时触发
onblur
:元素失去焦点时触发
onload
:元素(文档、框架或图像)被载入时触发
onreset
:表单元素被重置时触发
22.关于js中的call和apply
call和apply都是属于Function.prototype的一个方法,故每个function实例都有call、apply属性
23.表单提交时会触发submit()方法formObject.submit()
,onsubmit事件onsubmit = 执行动作
24.没有text-color
这个属性,文字颜色用color
属性
25.cookie的有效时间默认为-1,如果不设置默认在浏览器会话关闭时结束。
可以通过setMaxAge()方法设置cookie的生命期。
当setMaxAge(0)时表示立即删除该浏览器上指定的cookie
26.对于form表单中的input元素的readonly和disabled属性:
无论设置readonly还是disabled,通过js脚本都能更改input的value。
readonly规定input输入字段为只读,input的value会随着表单提交;而disabled规定禁用此input元素,input的value不会随着表单提交。
27.css如何使用服务端的字体:@font-face
语法:@font-face{ font-family:name; src:url(URL); sRules }
参数font-family:字体名称
参数src:使用绝对或相对地址指定OpenType字体
参数sRules:样式表定义
28.若子元素都为浮动,可以解决父类高度塌陷问题的方法有:
(1)额外标签法
在浮动元素下方添加空div,并添加样式clear:both;
(2)给父元素添加overflow:hidden;
通过触发BFC的方式,实现清除浮动效果
(3)使用after伪元素
设置父元素:after{content:’’;clear:both;display:block;}
(4)使用before和after双伪元素
29.DHTML(Dynamic HTML)将HTML、JS、CSS以及DOM组合在一起,用于创造动态性更强的网页。通过DOM、CSS、JS动态地改变HTML元素的样式。
DOM动态样式的作用是:使网页作者改变内容的外部特性,但不强制用户再次下载全部内容。
30.在使用table表现数据时,有时候表现出来的会比自己实际设置的宽度要宽,为此需要设置:cellpadding(每个单元格内边距)= ‘0’和cellspacing(每个单元格外边距)= ‘0’
31.Object.keys(obj)
方法
返回一个由给定对象的自身可枚举属性名组成的数组
let obj = {
name:'kkk',
age:12
}
console.log(Object.keys(obj))
32.CSS中filter:alpha()
和opacity
filter:alpha()
和opacity
都是设置透明度的,但是opacity在IE8及以下是不兼容的,故要设置filter
opacity
值的范围:0~1,0为完全透明,1为完全不透明
filter.alpha(opacity)
中opacity的范围:0~100,0为完全透明,1为完全不透明
filter.alpha()
的基本属性:
filter.alpha(opacity = ? ,finishopacity = ?,style = ?,startX = ?,startY = ?,finishX = ?,finishY = ?)
参数opacity:不透明度
参数finishopacity:设置渐变的透明效果时,用于指定结束时的透明度
参数style:设置渐变透明的样式,值为0表示统一形状、1表示线性、2表示放射状、3表示长方形
参数startX和startY:渐变透明效果开始时的X和Y坐标
参数finishX和finishY:渐变透明效果结束时的X和Y坐标
btn-group
能将按钮组成按钮组,可以嵌套使用
可使用btn-group-lg
和btn-group-sm
来调整按钮大小
btn-toolbar
能将btn做成复杂组件
34.div元素本身不具有语义,但可以结合class、title、lang属性来表示具有语义的一组内容
35.time
元素用于表示时间,address
元素用于表示地址
36.fieldset
元素用于对表单控件进行分组,legend
元素用来表示它的标题
37.<q>
标签用于给引用的短句添加引号,可选属性cite指明引用的出处或来源
<p>
大哲学家曾经说过:
<q>人是铁 饭是钢 一顿不吃饿得慌</q>
</p>
<q>
标签在本质上与 <blockquote>
是一样的,不同之处在于它们的显示和应用。<q>
标签用于简短的行内引用,如果需要从周围内容分离出来比较长的部分(通常显示为缩进的块),使用 <blockquote>
标签。
38.数据序列化技术:JSON、Property List(属性列表)、Protocal Buffer(简介)、XML
39.字符串的match()
方法用于查找匹配的字符
str.match(/b+/g)
匹配至少由一个b组成的字符串
str.match(/b*/g)
匹配不含b,或由一个或多个b组成的字符串
str.match(/b{1,4}/g)
匹配由最少1个b,最多4个b组成的字符串
40.ES6中Promise(处理异步操作)的三种状态
(1)pending 未决
(2)reslove 成功
(3)reject 拒绝
41.JS实现继承的方式:(6种)
原型链继承、构造函数继承、组合继承、原型式继承、寄生式继承、寄生组合式继承
原型链继承:所有对象都公用一份原型属性和方法,对一个类的修改回影响的其他类
构造函数继承:把父类的所有属性方法全部拷贝一份,但对于公用的方法重复拷贝会浪费内存
组合继承:结合两种继承方式,用构造函数方式继承属性,用原型链方式继承方法
42.在<div><a href="http://www.w3.org/">链接到W3C</a></div>
中
div a:link{color:red}
的效果等同于div>a:link{color:red}
(>
为转义字符 相当于>
)
div a
和div > a
的区别:后者指作用到div下一级的a标签,仅一级
div a:link{color:red}
在这里的效果不等同于div:first-child{color:red}
(1)div:first-child
表示首先得是div元素,其次得是属于其父元素的第一个div子元素
例:
<style>
p:first-child{
background-color:yellow;
}
</style>
<body>
<p>这个段落是其父元素(body)的首个子元素。</p>
<h1>欢迎访问我的主页</h1>
<p>这个段落不是其父元素的首个子元素。</p>
<div>
<p>这个段落是其父元素(div)的首个子元素。</p>
<p>这个段落不是其父元素的首个子元素。</p>
</div>
</body>
(2)div:first-of-type
表示首先得是div元素,其次得是其父元素中出现的第一个div元素
例:
p:first-of-type{
background-color:yellow;
}
<body>
<div>
<span>??</span>
<span>
<p>这是第0个段落!!!!!</p>
</span>
</div>
<p>这是第一个段落。</p>
<p>这是第二个段落。</p>
<p>这是第三个段落。</p>
<p>这是第四个段落。</p>
<div>
<p>这是第最后一个段落!!!!!</p>
</div>
</body>
(3)div:nth-child(n)
表示首先得是div元素,其次得是其父元素的第n个子元素
例:
p:nth-child(2){
background:#ff0000;
}
<body>
<h1>这是标题</h1>
<div>//第二个子元素 但不是p元素
<p>??</p>
<p>~~</p>//第二个子元素 且为p元素
</div>
<p>第一个段落。</p>//第三个子元素
<p>第二个段落。</p>
<p>第三个段落。</p>
<p>第四个段落。</p>
</body>
(4)div:nth-of-type(n)
表示首先得是div元素,其次得是其父元素中出现的第n个div元素
p:nth-of-type(2){
background:#ff0000;
}
</style>
</head>
<body>
<h1>This is a heading</h1>
<div>
<p>??</p>
<p>!!</p>
</div>
<p>The first paragraph.</p>
<p>The second paragraph.</p>
<p>The third paragraph.</p>
<p>The fourth paragraph.</p>
</body>
43.angularjs中定义服务的方法:
(1)使用系统内置的$provide服务
(2)使用Module的factory方法
(3)使用Module的service方法
44.DHTML具备的优点:
动态样式、动态内容、动态定位
45 .
ele.innerHTML
:获取或修改dom元素内部的HTML结构
ele.innerText
:获取或修改dom元素内部的文本
ele.outerHTML
:获取或修改dom元素的HTML结构(包括该元素本身)
ele.outerText
:获取或修改dom元素的文本(包括该元素本身)
示例:
<p>
大哲学家曾经说过:
<q>人是铁 饭是钢 一顿不吃饿得慌</q>
</p>
<script>
let p = document.getElementsByTagName('p')[0];
</script>
46.js的任务分为同步任务和异步任务(异步任务如setTimeout、setInterval、ajax等),同步任务放在主线程,形成一个执行栈;异步任务放在任务队列,只有主线程空了才会去读取任务队列的任务。
47 .
for(var i = 0; i < 5; i++){
requestAnimationFrame(() => console.log(i));
}
requestAnimationFrame
是异步操作,故for循环中的requestAnimationFrame会在循环退出的时候才执行其中的回调,此时用var关键字(函数级作用域)声明的变量i的值为5,故输出5个5
48 .
if(! "a" in window){
var a = 1;
}
alert(a);
if语句的意思是:判断全局对象window中是否有变量a,如果没有,则进入判断将a赋值为1
由于变量声明会提升,但变量赋值不会提升,就相当于代码如下:
var a;
if(! "a" in window){
a = 1;
}
alert(a);
进行if判断时,变量a已经被声明但还未赋值,故不会进入判断给啊赋值,输出a时为undefined
49.H5的跨文档消息传输
(1)可以实现同域内的web页面之间相互通信
(2)可以实现跨域通信
(3)可以相互传递字符串和对象
(4)使用这个功能,需要获取到网页所在窗口的实例
50.angularjs指令中scope(作用域)的三个参数
参数false:(默认)不创建新的作用域对象,和父作用域共享一个作用域
参数true:从父作用域继承并创建一个新的作用域对象
参数{}:隔离作用域,创建一个新的作用域对象,但不继承父作用域
scope:false 和scope:true的 本质区别是创不创建新的作用域对象,而不是继不继承的问题。
scope:{}和scope:true的 本质区别是继不继承父作用域的问题,而不是创不创建新的作用域对象的问题。