HTML,JavaScript6

327 阅读6分钟

1. 下列那个样式定义后,可以让块元素呈递为内联对象

一、display:block

display:block就是将元素显示为块级元素,一般是其他元素的容器,可容纳内联元素和其他块状元素,块状元素排斥其他元素与其位于同一行,宽度(width)高度(height)起作用。常见块状元素为div和p。

二、display:inline

display:inline就是将元素显示为内联元素,内联元素只能容纳文本或者其他内联元素,它允许其他内联元素与其位于同一行,但宽度(width)高度(height)不起作用。常见内联元素为“a”

三、display:inline-block

display:inline-block将对象呈递为内联对象,但是对象的内容作为块对象呈递。旁边的内联对象会被呈递在同一行内,允许空格。(准确地说,应用此特性的元素呈现为内联对象,周围元素保持在同一行,但可以设置宽度和高度地块元素的属性)

四、inherit

继承父类的属性。

2. 下列定义的 css 中,哪个权重是最低的?

权重越大,优先级越高

ID > class > element 行内样式 style : 1000 hangneiang ID : 100 class : 10 element : 1

3. 下面关于HTML5控件显示音频和视频媒体的说法正确的是()

A 播放音频或者视频,通过视频或者音频的链接就可以播放,不需要通过别的插件播放 B 音频或者视频不属于属性或者事件。属性是放在标签里面的 D 只有指定的视频或者音频格式才可以

4. w3c 制定的 javascript 标准事件模型,以下正确的顺序以及描述是

5. var str1=new RegExp("e"); document.write(str1.exec("hello"));以上代码输出结果为( )

  • exec() 方法用于检索字符串中的正则表达式的匹配。

  • 返回值 返回一个数组,其中存放匹配的结果。如果未找到匹配,则返回值为 null。

所以"e".exec("hello")中,"e"是正则表达式,"hello"是检索的字符串。在"hello"字符串中,能够匹配到"e"。因此document.write("e"); 最后结果为e。

  • 说明 exec() 方法的功能非常强大,它是一个通用的方法,而且使用起来也比 test() 方法以及支持正则表达式的 String 对象的方法更为复杂。 如果 exec() 找到了匹配的文本,则返回一个结果数组。否则,返回 null。此数组的第 0 个元素是与正则表达式相匹配的文本,第 1 个元素是与 RegExpObject 的第 1 个子表达式相匹配的文本(如果有的话),第 2 个元素是与 RegExpObject 的第 2 个子表达式相匹配的文本(如果有的话),以此类推。除了数组元素和 length 属性之外,exec() 方法还返回两个属性。index 属性声明的是匹配文本的第一个字符的位置。input 属性则存放的是被检索的字符串 string。我们可以看得出,在调用非全局的 RegExp 对象的 exec() 方法时,返回的数组与调用方法 String.match() 返回的数组是相同的。 但是,当 RegExpObject 是一个全局正则表达式时,exec() 的行为就稍微复杂一些。它会在 RegExpObject 的 lastIndex 属性指定的字符处开始检索字符串 string。当 exec() 找到了与表达式相匹配的文本时,在匹配后,它将把 RegExpObject 的 lastIndex 属性设置为匹配文本的最后一个字符的下一个位置。这就是说,您可以通过反复调用 exec() 方法来遍历字符串中的所有匹配文本。当 exec() 再也找不到匹配的文本时,它将返回 null,并把 lastIndex 属性重置为 0。

exec()匹配成功时返回的是数组,存放的是匹配成功的结果 使用document.write();输出时,会将数组转化为字符串

6.

因为length是数组的属性,不是方法,所以选length,而且length是不加括号的 、

7.

<< 表示左移,先化为2进制,1为01,然后左移4位,成010000,再化为10进制,10000(二进制) = 16(十进制)。 接着a = a ^15 而a = 10,符号^表示异或,也就是比较对应的二进制位是否相同,相同为0,不同为1。 10的二进制 => 1010 15的二进制 => 1111 通过异或运算可以得到 0101 再转换成十进制即是5

8. angularjs1指令中compile主要是做什么用的?

    1. compile (绑定DOM)
    1. link(数据绑定)。

9.

如果val只是声明了,而没有定义任何值的话,选C。因为+运算符优先级大于?:运算符,所以代码执行顺序是('Value is ' + (val != '0')) ? 'define' : 'undefine',而?前面的表达式运算结果为字符串'Value is true',它被转换为布尔值是true,所以打印出来的结果是字符串'define'。

10. 以下哪些方法会返回一个数组?

    1. A. Object.keys()

该方***返回一个由一个给定对象的自身可枚举属性组成的数组,数组中属性名的排列顺序和使用 for...in 循环遍历该对象时返回的顺序一致 。如果对象的键-值都不可枚举,那么将返回由键组成的数组。

    1. B. String.prototype.split()

split() 方法使用指定的分隔符字符串将一个String对象分割成字符串数组,以将字符串分隔为子字符串,以确定每个拆分的位置。

AB选项都是返回数组。

    1. C. Array.prototype.join()

join() 方法将一个数组(或一个类数组对象)的所有元素连接成一个字符串并返回这个字符串。如果数组只有一个项目,那么将返回该项目而不使用分隔符。 C选项返回字符串。

    1. D. Promise.all()

Promise.all(iterable) 方法返回一个 Promise 实例,此实例在 iterable 参数内所有的 promise 都“完成(resolved)”或参数中不包含 promise 时回调完成(resolve); 如果参数中 promise 有一个失败(rejected),此实例回调失败(reject),失败原因的是第一个失败 promise 的结果。 D选项返回的是promise对象。

11. 在一个表单中,如果想要给输入框添加一个输入验证,可以用下面的哪个事件实现?

  • hover移入移出,输入验证一般不会使用hover
  • keypress也不会用作输入验证,
  • change可以用作输入验证的事件,change(fn)只是一种实现方式,还有其他实现方式:
    • 原生js的onchange属性,
    • html属性onchange,
    • addEventListener(onchange,fn)都是实现方式,
    • jquery中除了$(selector).change(fn)外还有bind(change,fn)