JS常见面试题
20道关于JavaScript的基础面试题

20道关于JavaScript的基础面试题1.有关if语句说法不正确的是()。
A.if后面的条件必须使用括号包围。
B.有的if语句可以没有else部分。
C.if语句也支持嵌套。
D.else中语句的执行总是会匹配最外层的那个if语句中的条件判断。
2.有关switch语句的结论错误的是()。
A.两个case不可共同使用一个break语句。
B.对每个case的匹配操作实际上是“===”恒等运算符比较,因此,表达式和case的匹配并不会做任何类型转换。
C.ECMAScript标准的确允许每个case关键字跟随任意的表达式。
D.如果在函数中使用switch语句,有时可以使用return来代替break3.有关JS函数不正确的结论有()。
A.定义函数时声明了多个参数,但调用时可以不使用它们。
B.函数体是由JavaScript语句组成的,必须用花括号括起来,即使函数体不包含任何语句。
C.在嵌套时,函数声明可以出现在所嵌套函数的顶部也可以出现在底部。
D.定义函数时,并不执行函数体内的语句,它和调用函数时待执行的新函数对象相关联。
4.有关函数声明语句和函数定义表达式区别错误的结论是()。
A.函数声明语句创建的变量可以使用delete删除。
B.使用函数定义表达式定义的函数,只有变量(函数名)声明提前了——变量的初始化代码仍然在原来的位置。
C.函数声明语句中的函数被显式地“提前”到了脚本或函数的顶部。
D.都创建了新的函数对象,但函数声明语句中的函数名同时也是一个变量名,变量指向函数对象。
5.有关delete运算符正确的说法是()。
A.delete可以用于删除任何对象属性。
B.delete不可以用于删除数组元素。
C.delete可以用于删除任何声明的变量D.语句delete obj1.x;中,delete用于删除对象obj1的属性x。
6.有关var语句的错误结论是()。
A.var声明的变量有时可以通过delete删除的。
js算法面试经典100题

js算法面试经典100题以下是面试中常见的100个经典算法问题,适用于JavaScript:1. 两数之和2. 反转字符串3. 验证回文串4. 整数反转5. 最长公共前缀6. 合并两个有序数组7. 有效的括号8. 删除排序数组中的重复项9. 删除链表中的节点10. 实现 strStr()11. 替换空格12. 二叉树的最大深度13. 对称二叉树14. 二叉树的层次遍历15. 二叉搜索树的最近公共祖先16. 删除链表的倒数第N个节点17. 旋转数组18. 合并两个有序链表19. 链表的中间节点20. 最大子序和21. 阶乘尾部的零22. 爬楼梯23. 二叉树的前序遍历24. 杨辉三角25. 有效的数独26. 反转链表27. 验证二叉搜索树28. 实现Trie29. 最长有效括号30. 合并区间31. 两两交换链表中的节点32. 下一个排列33. 逆波兰表达式求值34. 最大矩形35. 字符串相乘36. 删除链表中的重复元素37. 螺旋矩阵38. 使用队列实现栈39. 最长连续序列40. 交错字符串41. 单词拆分42. 最后一个单词的长度43. 二叉树的右视图44. 跳跃游戏45. 翻转二叉树46. 字母异位词分组47. 复原IP地址48. 最小覆盖子串49. 丑数50. 栈的压入弹出序列51. 二叉树中和为某一值的路径52. 二叉搜索树的后序遍历序列53. 二进制求和54. 分隔链表55. 不同路径56. 最小路径和57. 字符串转换整数58. 搜索二维矩阵59. 环形链表60. 路径总和61. 删除链表的节点62. 最长上升子序列63. 最大子数组乘积64. 排序链表的合并65. 在排序数组中查找元素的第一个和最后一个位置66. 同结构的二叉树67. 乘积最大子数组68. 两个排序数组的中位数69. 合并K个排序链表70. 数组中的逆序对71. 反转链表的前N个节点72. 最大值和最小值的差73. 翻转字符串中的单词74. 前 K 个高频元素75. 分青红蓝球问题76. 回文数77. 括号生成78. 长度最小的子数组79. 根据身高和序号重组队列80. 两数相加81. 数字的英文表示82. 二叉树的锯齿形层次遍历83. 在O(1)时间内删除链表节点84. 用栈实现队列85. 二叉树的层平均值86. 二叉树的右侧视图87. 螺旋矩阵 II88. 颜色分类89. 寻找重复数90. 打家劫舍91. 按序打印92. 找到字符串中所有字母异位词93. 丑数 II94. 外观数列95. 在排序链表中删除重复元素 II96. 两数相除97. 不同的二叉搜索树98. 最长回文子串99. 缺失的第一个正数100. 寻找最大公约数这些问题涵盖了数据结构和算法中的常见题目。
高级前端js面试题

高级前端js面试题一、选择题(每题2分)1. 下面哪个选项是JS的注释语法()(多选) *A、// This is a comment(正确答案)B、<%-- This is a comment --%>C、<!-- this is a comment-->D、/* This is a comment */(正确答案)2. 关于JS代码的书写位置,下面哪一个是错误的( )? [单选题] *A、写到<script>标签中B、写到单独的js文件中C、写到标签的事件属性值中D、直接写到页面中(正确答案)3. <script>标签可以放到页面中的哪个位置( ) [单选题] *A、只能放到<body>标签中B、只能放到<head>标签中C、放到<body>标签和 <head>标签均可(正确答案)D、放到页面中的任何地方4. 下面哪种创建函数的方式是错误的( ) [单选题] *A、function foo(){}B、var foo = function (){}C、var foo = new Function()D、var foo = bar(){}(正确答案)5. 下面哪种创建数组的方式是正确的( ) *A、 var txt = ["George", "John", "Thomas"](正确答案)B、 var txt = ["George" "John" "Thomas"]C、 var txt = new Array("George","John","Thomas")(正确答案)D、 var txt = new Array("George" "John" "Thomas")6. 如何把7.25 四舍五入为最接近的整数( ) [单选题] *A、 Math.sqrt(7.25)B、 Math.ceil(7.25)C、 Math.floor(7.25)D、 Math.round(7.25)(正确答案)7. 下面哪个是Date对象中获取日期的方法的( ) [单选题] *A、getFullYear()B、getMonth()C、getDate()(正确答案)D、getDay()E、getHours()F、getMinutes()G、getSeconds()H、getTime()8. 下面哪个方法可以向数组的末尾添加一个或多个元素( ) [单选题] *A.concat()B.pop()C.push()(正确答案)D.shift()9. 下面哪个方法可以寻找子字符串并返回该子字符串首字符的索引位置( ) [单选题] *A.match()B.indexOf()(正确答案)C.search()D.concat()10. 下面哪个文本框会时刻监听用户的输入,并将输入内容输出到控制台( ) [单选题] *A. <input type="text" onclick="console.log(this.value)">B. <input type="text" onchange="console.log(this.value)">C. <input type="text" oninput="console.log(this.value)">(正确答案)D. <input type="text" onfocus="console.log(this.value)">11. window对象的哪个方法可以显示带有输入框的对话框?( ) [单选题] * A.confirm()B.alert()C.prompt()(正确答案)D.open()12. setInterval("alert('welcome');",1000);这段代码的意思是( ) [单选题] *A、等待1000秒后,弹出一个对话框B、等待1秒钟后,弹出一个对话框C、每隔1秒钟,弹出一个对话框(正确答案)D、语句报错,语法有问题13. setTimeout("alert('welcome');",1000);这段代码的意思是( ) [单选题] *A、等待1000秒后,弹出一个对话框B、等待1秒钟后,弹出一个对话框(正确答案)C、每隔1秒钟,弹出一个对话框D、语句报错,语法有问题14. 下列哪个函数可以将参数转换为浮点数( ) [单选题] *A、isNaN()B、parseInt()C、Number()D、parseFloat()(正确答案)15. 如果要从函数返回值,必须使用哪个关键词( ) [单选题] *A、continueB、breakC、return(正确答案)D、exit16. 下面4个变量声明语句中,正确的是( ) [单选题] *A、var defaultB、var my_house(正确答案)C、var my dogD、var 2cats17. 表达式"123abc"-"123"的计算结果是( ) [单选题] *A、"abc"B、0C、"123abc123"D、NaN(正确答案)18. 下面哪一个不是用来操作DOM元素的方法( ) [单选题] *A、insertBefore()B、insertAfter()(正确答案)C、removeChild()D、appendChild()19. 以下哪个表达式计算之后的结果是true( ) [单选题] *A、(3==3)&&(5<1)B、!(17<=20)C、(3!=3)||(7<2)D、(1==1)||(2<0)(正确答案)20. 若有定义var x=10,则以下哪条语句执行后变量x的值不等于11( ) [单选题] *A、x++;B、x=11;C、x==11;(正确答案)D、x+=1;二、简答题1. Js基本数据类型都有哪些? [填空题]_________________________________2. 注册事件处理程序的有几种方法,请举例说明 [填空题]_________________________________3. e.clientX和e.pageX有什么区别? [填空题]_________________________________4. javaScript有几种作用域,具体指的是哪里? [填空题]_________________________________5. 写出一个求随机数的公式. [填空题]_________________________________6. 有哪些强制类型转换和隐式类型转换,请举例说明 [填空题]_________________________________7. JS中数组的操作方法有哪些,至少写出5种,分别写出每个方法的用法,及参数,返回值,是否改变原数组 [填空题]_________________________________三、分析题(分析每个代码块在控制台打印以后会出现的结果)1.下面这段代码输出的结果是什么,为什么?/*代码段一*/var x;console.log(x === undefined);x = 3;/*代码段二*/bar2();var bar2 = function() {console.log("bar2");}; [填空题] *_________________________________2.下面这段代码输出的结果是什么,为什么?var a = {x: 1};var b = a;a.x = 2;console.log(b.x);a = {x: 3};console.log(b.x);a = {x: 4};console.log(b.x);[填空题] *_________________________________3.下面这段代码输出的结果是什么,为什么?/*代码段一*/var a=1;function test(){console.log(a);var a=1;}test();/*代码段二*/var b = 1;function fun1(){var b = 2;function fun2(){var b = 3;console.log(b);}fun2();}fun1(); [填空题] *_________________________________4.下面这段代码输出的结果是什么,为什么?/*代码段一*/var b=2;function test2(){window.b=3;console.log(b);}test2();/*代码段二*/var c = 5;function test3(){window.c=3;console.log(c);var c;console.log(window.c);}test3(); [填空题] *_________________________________。
js 面试题及答案

js 面试题及答案JavaScript(简称 JS)是一种基于对象和事件驱动的脚本语言,常用于网页开发。
在进行JS开发时,经常需要面试来选择优秀的候选人。
本文将针对常见的JS面试题提供详细的答案,帮助读者更好地准备面试。
一、变量和数据类型1. 什么是变量?变量是用于存储和表示数据的一个名字。
在JS中,可以使用var、let或const关键字来声明一个变量。
2. 有哪些常见的数据类型?JS中有七种常见的数据类型,分别是:字符串(string)、数字(number)、布尔值(boolean)、对象(object)、数组(array)、Null和Undefined。
3. Null和Undefined有什么区别?Null表示一个空对象指针,也可以用于表示空值;Undefined表示一个未定义的值,即变量声明但未被赋值。
二、运算符和流程控制1. 请解释一下什么是短路求值。
短路求值是指在进行逻辑与(&&)和逻辑或(||)运算时,如果能根据前面的条件判断出最终结果,则停止执行后续的条件判断。
2. 请解释一下什么是深拷贝和浅拷贝。
深拷贝是指创建一个新的对像或数组,将原来对象或数组中的值完全复制到新对象或数组中。
浅拷贝是指将原对象或数组中的引用复制给新对象或数组。
3. 如何判断一个变量的具体数据类型?可以使用typeof运算符来判断一个变量的具体数据类型。
例如,typeof 5将返回"number"。
三、函数和作用域1. 什么是闭包?闭包是指一个函数能够访问和操作在其词法作用域外的变量。
2. 匿名函数和具名函数有什么区别?匿名函数没有名字,通常用于声明立即执行的函数。
具名函数则有名字,能够在定义后被多次调用。
3. 请解释一下什么是作用域链。
作用域链是指在函数执行期间,JS引擎按照函数的嵌套关系,从内层函数到外层函数依次查找变量的过程。
四、面向对象编程1. 什么是原型?原型链又是什么?每个对象都有一个原型对象,在没有定义某个属性或方法时会根据原型链进行查找。
25个最基本的JavaScript面试问题及答案

25个最基本的JavaScript面试问题及答案1.使用typeof bar === "object"来确定bar 是否是对象的潜在陷阱是什么?如何避免这个陷阱?尽管typeof bar === "object"是检查bar 是否对象的可靠方法,令人惊讶的是在JavaScript中null 也被认为是对象!因此,令大多数开发人员惊讶的是,下面的代码将输出 true (而不是false) 到控制台:var bar = null;console.log(typeof bar === "object"); // logs true!只要清楚这一点,同时检查bar是否为null,就可以很容易地避免问题:console.log((bar !== null) && (typeof bar === "object")); // logs false要答全问题,还有其他两件事情值得注意:首先,上述解决方案将返回false,当bar是一个函数的时候。
在大多数情况下,这是期望行为,但当你也想对函数返回true的话,你可以修改上面的解决方案为:console.log((bar !== null) && ((typeof bar === "object") || (typeof bar === "function ")));第二,上述解决方案将返回true,当bar是一个数组(例如,当var bar = [];)的时候。
在大多数情况下,这是期望行为,因为数组是真正的对象,但当你也想对数组返回false时,你可以修改上面的解决方案为:console.log((bar !== null) && (typeof bar === "object") && (toString.call(bar) !== "[obje ct Array]"));或者,如果你使用jQuery的话:console.log((bar !== null) && (typeof bar === "object") && (! $.isArray(bar)));2.下面的代码将输出什么到控制台,为什么?(function(){var a = b = 3;})();console.log("a defined? " + (typeof a !== 'undefined'));console.log("b defined? " + (typeof b !== 'undefined'));由于a和b 都定义在函数的封闭范围内,并且都始于var关键字,大多数JavaScript开发人员期望typeof a和typeof b在上面的例子中都是undefined。
29道关于JavaScript的基础面试题

29道关于JavaScript的基础面试题1.有关函数说法正确的有()。
A.直接调用Math.max时它并不接受数组。
B.对于一些系统内置对象,使用toString调用不会得到你想要的源码。
C.length属性返回函数中的形参个数。
D.arguments属性用于描述传递给一个函数的参数数组,是一个类数组对象。
2.下面正确的结论是()。
A.'111'<>B.1>=-Infinity结果为trueC.已知'100'+200,200转换为'200',结果是'100200'D.'100'+'200'结果是'100200'3.关于JS函数的说法错误的有()。
A.arguments是函数参数相关的一个专用数组。
B.已经定义的函数可以使用重新定义。
C.已经定义的函数可以使用delete删除。
D.如果函数无明确的返回值,或调用了没有参数的return语句,那么它真正返回的值是undefined。
4.有关对象操作语句说法正确的是()。
A.一个对象创建表达式不需要传入任何参数给构造函数的时候构造函数后面的括号也不可省略。
B.with语句可以用来临时扩展作用域链。
C.与没有使用with语句的代码相比,with语句运行效率低下。
D.在严格模式下,禁止使用with语句。
5.有关this运算符正确的结论有()。
A.所有this到对象的绑定将发生在调用的时候,我们称为“延迟绑定”。
B.apply和call能够强制改变函数执行时的当前对象,让this指向其他对象。
C.由于JS的动态性,this的指向在运行时才确定。
D.this运算符总是指向当前的对象6.有关JS异常处理正确的结论有( )。
A.try从句要求需要catch和finally至少二者之一与之共同完成异常处理任务。
三个语句块都必须使用花括号括起来,不能省略花括号。
面试指南」JS模块化、组件化、工程化相关的15道面试题

⾯试指南」JS模块化、组件化、⼯程化相关的15道⾯试题JS 模块化、组件化、⼯程化相关的 15 道⾯试题1.什么是模块化?2.简述模块化的发展历程?3.AMD、CMD、CommonJS 与 ES6 模块化的区别?4.它们是如何使⽤的?5.export 是什么?6.module.export、export 与 export defalut 有什么区别?7.什么是组件化?8.组件化的原则是什么?9.全局组件与局部组件的区别?10.如何注册⼀个全局组件,并使⽤它?11.局部组件⼜是如何注册并使⽤的?12.如何封装⼀个⾼复⽤的 Vue 前端组件?13.什么是前端⼯程化思想?14.⼯程化可以解决什么问题?15.是如何处理这些问题的?问:1.什么是模块化?答:将 JS 分割成不同职责的 JS,解耦功能,来⽤于解决全局变量污染、变量冲突、代码冗余、依赖关系难以维护等问题的⼀种 JS 管理思想,这就是模块化的过程。
问:2.简述模块化的发展历程?答:模块化的发展主要从最初的⽆模块化,发展到闭包式的 IIFE ⽴即执⾏解决模块化,到后来的 CommonJS、 AMD、CMD,直到 ES6 模块化规范的出现。
// jQuery风格的匿名⾃执⾏(function(window) {//代码window.jQuery = window.$ = jQuery; //通过给window添加属性⽽暴漏到全局})(window);问:3.AMD、CMD、CommonJS 与 ES6 模块化的区别?答:CommonJS 是 NodeJs 的⼀种模块同步加载规范,⼀个⽂件即是⼀个模块,使⽤时直接 require(),即可,但是不适⽤于客户端,因为加载模块的时候有可能出现‘假死’状况,必须等模块请求成功,加载完毕才可以执⾏调⽤的模块。
但是在服务期不存在这种状况。
AMD (Asynchronous Module Definition):异步模块加载机制。
js常见的面试题及答案

js常见的面试题及答案1. 什么是闭包,它有什么作用?闭包是一个函数和声明该函数的词法环境的组合。
闭包的主要作用是允许一个函数访问其词法作用域之外的变量,即使在函数执行完毕后,这些变量依然可以被访问和操作。
2. 解释JavaScript中的原型继承。
JavaScript中的原型继承是通过原型链实现的。
每个对象都有一个原型对象,对象的属性和方法首先在自身查找,如果找不到,则沿着原型链向上查找,直到Object.prototype。
3. 如何判断一个变量是数组类型?可以使用`Array.isArray()`方法来判断一个变量是否是数组类型。
这是一个简单且推荐的方式。
4. 解释`var`、`let`和`const`之间的区别。
- `var`声明的变量具有函数作用域或全局作用域,并且存在变量提升。
- `let`声明的变量具有块级作用域,不存在变量提升。
- `const`声明的常量也具有块级作用域,并且一旦赋值后无法修改。
5. 什么是事件冒泡和事件捕获?事件冒泡是指事件从最具体的元素(事件的实际目标)开始,然后逐级向上传播到较为不具体的节点(通常是文档的根节点)。
事件捕获则是相反的过程,事件从最不具体的节点开始捕获,然后逐级向下传播到最具体的节点。
6. 解释JavaScript中的异步编程。
JavaScript中的异步编程允许代码在等待操作完成(如网络请求、文件读写等)的同时继续执行其他任务。
常见的异步编程模式包括回调函数、Promises和async/await。
7. 什么是深拷贝和浅拷贝?浅拷贝只复制对象的第一层属性,而深拷贝则递归复制对象的所有层级。
浅拷贝可能导致原始对象和拷贝对象共享引用,而深拷贝则创建了对象的完全独立的副本。
8. 解释JavaScript中的事件循环。
事件循环是JavaScript运行时环境的一部分,它负责管理异步任务的执行。
当一个异步任务(如setTimeout)被调度时,事件循环会在任务队列中等待,直到它被执行栈调用。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
{n} 匹配 n 次 {n,} 至少匹配 n 次 {n,m} 至少匹配 n 次,最多匹配 m 次 \w 匹配包括下划线的任何单词字符,等价于[A-Za-z0-9_] \d 匹配一个数字 14.下列选项中可以正确的匹配一个正整数的是: A. ^[1-9]\d*$ B. ^[1-9]+$ C. ^[0-9]\d*$ D. ^[1-9]\d+$ 答案:A。 15.关于 HTML 中的表格和样式,下面说法错误的是: A.表格的边框可以使用 CSS 来控制 B.单元格的尺寸可以使用 CSS 来控制 C.单元格的背景颜色可以使用 CSS 来控制 D.单元格的跨行或跨列可以使用 CSS 来控制 答案:D。 16.CSS 样式 background-position:5px -10px 代表的意义是: A.背景图片向左偏移 5px,线下偏移 10px B.背景图片向左偏移 5px,线上偏移 10px C.背景图片向右偏移 5px,线下偏移 10px D.背景图片向右偏移 5px,线上偏移 10px
D. padding-left:5px; 答案:C。CSS 的边距值的顺序是从上 top 开始围绕元素顺时针旋转的: margin: top right bottom left; 如果边距少于 4 个值按照下面规则进行值复制: 1.如果缺少左外边距的值,则使用右外边距的值。 2.如果缺少下外边距的值,则使用上外边距的值。 3.如果缺少右外边距的值,则使用上外边距的值。 5.在 CSS 中,为页面中的某个 DIV 标签设置以下样式,则该标签的实际宽度为(): div { width:200px; padding:0 20px; border:5px; } A. 200px B. 220px C. 240px D. 250px 答案:D。实际宽度=外边距+边框+内边距+内容宽度,0+20px*2+5px*2+200px = 250px。 6.下面选项中,可以设置页面中某个 DIV 标签相对页面水平居中的 CSS 样式是(): A. margin:0 auto; B. padding:0 auto; C. text-align:center; D. vertival-align:middle; 答案:A。 7.在 HTML 中,DIV 默认样式下是不带滚动条的,若要是<div>标签出现滚动条,需 要为该标签定义()样式: A. overflow:hidden; B. display:block;
框架类型。 2.下面 HTML 标签中,默认占据整行的是(): A.<h1> B.<div> C.<span> D.<a> 答案:AB。h1 和 div 都是块级元素,默认占据整行。 3.下面 HTML 代码片段中符合 XHTML 使用规范的是(): A.
<table$amp;>amp;$lt;tr$amp;>amp;$lt;td$amp;>amp;$lt;/tr$amp;>amp;$lt;/table >
ቤተ መጻሕፍቲ ባይዱ
答案:D。 background-position xpos ypos 第一个值是水平位置,第二值是垂直位置。左上角是 0 0。如果你仅规定了 一个值,另一个值将是 50%。 x% y% 左上角是 0% 0%,右下角是 100% 100% top/center/bottom left/center/right 默认值是:0% 0%,如果您仅规定了一个关键 词,那么第二个值将是 center。 17.下面 CSS Hack 中,能够被 IE6 识别的是(): A. +width:10px; B. _width:10px; C. width:10px\0; D. @width:10px; 答案:B。 CSS Hack: background-color:blue; /* all */ background-color:blue\9; /*ie */ background-color:blue\9\0; /*ie9 */ background-color:blue\0; /*ie8 ie9*/ +background-color:blue; /*ie6 ie7*/ _background-color:blue; /*ie6*/ background-color:blue !important; /*ie7 firefox*/ *background-color:blue; /*ie6 ie7*/
<!DOCTYPE html> <html> <head> <title>Css Hack</title> <style> #test { width:300px; height:300px; background-color:blue; /*firefox*/ background-color:red\9; /*all ie*/ background-color:yellow\0; /*ie8*/ +background-color:pink; /*ie7*/ _background-color:orange; /*ie6*/ } :root #test { background-color:purple\9; } /*ie9*/ @media all and (min-width:0px){ #test {background-color:black\0;} } /*opera*/ @media screen and (-webkit-min-device-pixel-ratio:0){ #test {background-color:gray;} } /*chrome and safari*/ </style> </head> <body> <div id="test">test</div> </body> </html>
... <div class="box1"$amp;>amp;$lt;/div> <div class="box2"$amp;>amp;$lt;/div> ... A. .box2 {clear:left;} B. .box2 {clear:both;} C. .box1 {clear:right;} D. .box2 {clear:right;} 答案:BD。因为都是右浮动,所以不再同一行,应该清除第二个 div 的右浮动。 clear:right;在右侧不允许出现浮动元素。 clear:left;在左侧不允许出现浮动元素。 clear:both;两侧都不允许出现浮动元素。 clear:none;默认值,允许两侧出现浮动元素。 10.阅读下面 HTML 代码,若要使<dt>和<dd>标签在同一行显示,下面选项中的 CSS 书写正确的是(): <dl> <dt>用户名:</dt> <dd$amp;>amp;$lt;input type="text" name="userName" size="12" /$amp;>amp;$lt;/dd> </dl> A. dl dt {float:left;} B. dl dd {float:left;}
JavaScript 面试题集锦(一)
一 选择题 1.关于 XHTML 1.0 规定的级别声明,下面选项中属于严格类型的是(): A.Strict B.Trasitional C.Frameset D.Mobile 答案:A。XHTML1.0 有三种文档类型:Strict 严格类型,Trasitional 过渡类型,Frameset
B. <input type="checkbox" checked/> C. <img src="title.jpg" alt="Welcome"> D. <hr /> 答案:D。XHTML 的使用规范:1.有文件类型声明;2.小写的标签名和属性名;3.给所 有的属性加上引号;4.所有标签,包括空标签都应闭合。 4.下面选项中,()可以设置网页中某个标签的左外边距为 5 像素: A. margin:0 5px; B. margin:5px 0 0 0; C. margin:0 0 0 5px;
12.下列用来处理表格及其元素的方法中,书写正确并且可以删除行中指定的单元格的 是():
A. deleteCell() B. deleteRow() C. delCell() D. delRow() 答案:A。 13.下列正则表达式中,可以匹配首位是小写字母或数字,其它位数是小写字母的最少 两位的字符串: A. /^\w{2,}$/ B. /^[a-z0-9][a-z]+$/ C. /^[a-z0-9][a-z]*$/ D. /^[a-z0-9]\d+$/ 答案:B。 正则表达式 ^ 开始位置 $ 结束位置 * 零次或多次 + 1 次或多次
cell2</td> </tr> <tr> <td>Row3 cell1</td> <td>Row3 cell2</td> </tr> </table> <br /> <input type="button" onclick="insRow()" value="插入行"> </body> </html>
C. dl dt, dl dd {float:left;} D. dl {display:inline;} 答案:AC。 11.某页面中有一个 1 行 3 列的表格,其中表格行<tr>的 id 为 row1,下列选项中能在 表格中增加一列,并且这一列显示在最后的是(): A. document.getElementsById("row1").Cells(3); B. document.getElementsById("row1").insertCell(2); C. document.getElementsById("row1").insertCell(3); D. document.getElementsById("row1").insertCell(0); 答案:C。 Table 对象:代表一个 HTML 表格。 tableObject.deleteRow(index) 从表格删除指定位置的行。 tableObject.insertRow(index) 从表格指定位置插入一个新行。 TableRow 对象:代表一个 HTML 表格行。 tablerowObject.deleteCell(index) 删除表格行中的单元格。 tablerowObject.insertCell(index) 在表格行中插入一个新单元格。 eg: <html> <head> <script type="text/javascript"> function insRow() { var x=document.getElementById('myTable').insertRow(0) var y=x.insertCell(0) var z=x.insertCell(1) y.innerHTML="NEW CELL1" z.innerHTML="NEW CELL2" } </script> </head> <body> <table id="myTable" border="1"> <tr> <td>Row1 cell1</td> <td>Row1 cell2</td> </tr> <tr> <td>Row2 cell1</td> <td>Row2