js基础测试题
送你43道JS面试题(收藏)
送你43道JS⾯试题(收藏)导读这两天的GitHub Trending repositories被⼀个名叫 javascript-questions的项⽬霸榜了,项⽬中记录了⼀些JavaScript题⽬。
我⼤概从头到尾看了⼀遍,都是⼀些基础的题⽬,我⼤概花了半个⼩时(有些题很简单,可以⼀扫⽽过)把这些题做完了,虽然题⽬很简单,但是每道题都对应⼀个知识点,如果这个知识点你没有接触过,那肯定会做错,如果你接触过这些知识点,那么这些题对你来说就很容易。
建议⼤家也花半个⼩时来做⼀做,以便查漏补缺。
为⽅便⼤家能够更快的做题,⽽不把时间浪费在翻译上,我⼜花了⼏个⼩时把它们翻译成了中⽂,当然已经获得了作者授权。
⽂中有些点作者解释的不太完整,为了更好的理解,我在⽂中添加了⼀些个⼈解释。
JavaScript 进阶问题列表我在我的Instagram上发布了每⽇JavaScript选择题,我也会在这⾥发布!从基础到⾼级:测试您对JavaScript的了解程度,刷新您的知识,或为您的编码⾯试做好准备! 我每周⽤新问题更新这个项⽬。
答案位于问题下⽅的折叠部分,只需单击它们即可展开。
祝你好运❤1. 下⾯代码的输出是什么?function sayHi() {console.log(name);console.log(age);var name = "Lydia";let age = 21;}sayHi();A: Lydia 和 undefinedB: Lydia 和 ReferenceErrorC: ReferenceError 和 21D: undefined 和 ReferenceError答案: D在函数中,我们⾸先使⽤var关键字声明了name变量。
这意味着变量在创建阶段会被提升(JavaScript会在创建变量创建阶段为其分配内存空间),默认值为undefined,直到我们实际执⾏到使⽤该变量的⾏。
js和jquery面试题汇总
一、jquery解答题1. jQuery 库中的 $() 是什么?(答案如下)$() 函数是 jQuery() 函数的别称,乍一看这很怪异,还使 jQuery 代码晦涩难懂。
一旦你适应了,你会爱上它的简洁。
$() 函数用于将任何对象包裹成 jQuery 对象,接着你就被允许调用定义在 jQuery 对象上的多个不同方法。
你甚至可以将一个选择器字符串传入 $() 函数,它会返回一个包含所有匹配的 DOM 元素数组的 jQuery 对象。
这个问题我已经见过好几次被提及,尽管它非常基础,它经常被用来区分一个开发人员是否了解 jQuery。
2. 网页上有 5 个 <div> 元素,如何使用 jQuery来选择它们?(答案)另一个重要的 jQuery 问题是基于选择器的。
jQuery 支持不同类型的选择器,例如 ID 选择器、class 选择器、标签选择器。
鉴于这个问题没提到 ID 和 class,你可以用标签选择器来选择所有的 div 元素。
jQuery 代码:$("div"),这样会返回一个包含所有 5 个 div 标签的 jQuery 对象。
更详细的解答参见上面链接的文章。
3. jQuery 里的 ID 选择器和 class 选择器有何不同?(答案)如果你用过 CSS,你也许就知道 ID 选择器和 class 选择器之间的差异,jQuery 也同样如此。
ID 选择器使用 ID 来选择元素,比如 #element1,而 class 选择器使用 CSS class 来选择元素。
当你只需要选择一个元素时,使用 ID 选择器,而如果你想要选择一组具有相同 CSS class 的元素,就要用 class 选择器。
在面试过程中,你有很大几率会被要求使用 ID 选择器和 class 选择器来写代码。
下面的 jQuery 代码使用了 ID 选择器和 class 选择器:正如你所见,从语法角度来说,ID 选择器和 class 选择器的另一个不同之处是,前者用字符”#”而后者用字符”.”。
html+css+js测试题 - 副本
h t m l+c s s+j s测试题选择题1.html是什么意思?a)高级文本语言b)超文本标记语言c)扩展标记语言d)图形化标记语言2.哪一个标记用于使html文档中表格里的单元格占据多个单元格的宽度?a)cellspacingb)cellpaddingc)rowspand)colspan3.下列那项技术可以用于帮助网页设计时使页面具有统一、专业的外观?a)htmlb)dhtmlc)cssd)url4.以下哪个项目不是可以在h t m l文档中使用的特殊字符。
a)>小于号<b)&tl;<:大于号>c)©d) 5.a文件夹与b文件夹是同级文件夹,其中a下有a.htm,b下有b.htm文件,现在我们希望在a.htm 文件中创建超链接,链接到b.htm,应该在a.htm页面代码中如何描述链接内容?a)b.htmb)././././b/b.htmc)../b/b.htmd)../../b.htm6.我们想要将表格中加入的图像充满整个单元格,使用哪种方式可以做到?a)size="100"b)size="100%"c)width="100"d)width="100%"7.不是表单元素input的类型的是a)textb)radioc)selectd)filee)passwordf)radiog)textareah)hiddeni)checkboxj)option8.下列哪种css样式定义的方式拥有最高的优先级?a) 嵌入b) 行内c) 链接d)导入9.web标准的制定者是?a) 微软b) 万维网联盟(w3c)c) 网景公司(netscape)d)sun公司10.请选择产生粗体字的html标签:a) <i>b) <b>c) <em>d) <strong>11.下边能把超链接页面显示到框架中的是()?a)<atarget="_blank">baidu<a><iframe/>b)<atarget="myframe">baidu<a><iframename="myframe"/>c)<atarget="myframe">baidu<a><iframename="myframe"/>d)<atarget="myframe">baidu<a><iframename="myframe"/>12.以下选项中,哪个全部都是表格标签?a) <table><head><tfoot>b) <table><tr><td>c) <table><tr><tt>d) <thead><body><tr>13.以下的html中,哪个是正确引用外部样式表的方法?a) <stylesrc="mystyle.css">b) <linkrel="stylesheet"type="text/css"href="mystyle.css">c) <stylesheet>mystyle.css</stylesheet>14.如何为所有的<h1>元素添加背景颜色?a) h1.all{background-color:#ffffff}b) h1{background-color:#ffffff}c) all.h1{background-color:#ffffff}15.css如何改变某个元素的文本颜色?a) text-color:b) color:c) font-color:16.以下的css中,可使所有<p>元素变为粗体的正确语法是?a) <pstyle="font-size:bold">b) <pstyle="text-size:bold">c) p{font-weight:bold}d) p{text-size:bold}17.如何显示没有下划线的超链接?a) a{text-decoration:none}b) a{text-decoration:nounderline}c) a{underline:none}d) a{decoration:nounderline}18.关于相对定位和绝对定位,下列说法正确的是()a)相对定位的元素会脱离标准文档流b)绝对定位的元素会脱离标准文档流c)相对定位的位置属性值是相对于最近的父元素的位置d)绝对定位的位置属性值是相对于最近的父元素的位置19.写“helloworld”的正确javascript语法是?a) document.write("helloworld")b) "helloworld"c) response.write("helloworld")d) ("helloworld")20.插入javacript的正确位置是?a) <body>部分b) <head>部分c) <body>部分和<head>部分均可21.引用名为“xxx.js”的外部脚本的正确语法是?a) <scriptsrc="xxx.js">b) <scripthref="xxx.js">c) <scriptname="xxx.js">22.如何在显示提示框,提示helloworld?a) confirm("helloworld")b) prompt("helloworld")c) alert("helloworld")d) show("helloworld")23.如何创建函数?a) functionmyfunction(varnum){}b) functionmyfunction(){}c) voidmyfunction(){}d)fun=function(){}匿名函数24.定义javascript数组的正确方法是?a) vartxt=newarray="tim","kim","jim"b) vartxt=newarray(1:"tim",2:"kim",3:"jim")c) vartxt=newarray("tim","kim","jim")d) vartxt=newarray:1=("tim")2=("kim")3=("jim")25.打开名为“window2”的新窗口的javascript语法是?a)b)c)d)26.下列不属于文档对象的方法的是()a)getElementsByNameb)getElementByIdc)getElementByNamed)getElementsByTagName27.分析下面这两行代码的作用()01<ahref=”javascript:history.back()”></a>02<ahref=”javascript:history.forward()”></a> a)代码第1行的作用相当于后退按钮b)代码第2行的作用相当于后退按钮c)代码第1行的作用相当于前进按钮d)以上表述不都不正确28.通常情况下,一个url的格式是()a)协议//路径名称主机:端口/#哈希标识?搜索条件b)协议//主机:端口/#哈希标识/路径名称?搜索条件c)协议//主机:端口/路径名称?搜索条件d)协议//主机:端口?搜索条件/路径名称#哈希标识29.对location对象的叙述错误的是()a)可以获取当前路径b)可以改变当前路径c)可以用来刷新页面d)是只读属性,不能修改30.对下面这段代码分析不正确的是()funtcionsubmit(){form1.submit();alert(“提交成功”)}functionreset(){form1.reset();}a)调用submit()可以提交表单b)调用reset()重置表单c)只有点击提交按钮才能提交表单d)submit事件属于form表单31.下列对符号在正则表达式中所表示的意义解释错误的是()a)?(尖号):匹配字符串的开头b)$(美元符号):匹配字符串的结尾c)?(问号):匹配前面的子表达式一次或多次d)\(反斜杠):对特殊字符的特殊元字符含义进行转义32、产生当前日期的方法是()a.now();b.date()c.newDate()d.newNow()33、如果想在网页显示后,动态地改变网页的标题()a.是不可能的b.通过document.write(“新的标题内容”)c.通过document.title=(“新的标题内容”)d.通过document.changetitle(“新的标题内容”)34、在html页面中,css样式的属性名为background-image,对应的js中style对象的属性名是()。
JS第二天测试题目
JS第二天测试1、下列哪个不是Javascript中注释的正确写法:()A.< !-- …… -- >B.//……C./*……*/D. /* …… */2、下面那个选项可以实现换行()A.alert("Hello dreamdu!");B.alert('Welcome to<br />dreamdu!');C.alert('Welcome to\ndreamdu!');3、给下面的操作运算列出优先级逻辑非逻辑与算数运算符关系运算符逻辑或赋值操作符条件操作符4、计算下列题目var i=6+"5";i=等于多少? var a = 5-'6'; a等于多少? -3 % 2 = ? 3 % -2 = ?var j = 0; j=1,j=2,j=3; j等于多少? var a = ('abc'<'d')?11:22; a = ? 5、数据类型转换var a = '123'; 隐式转换成数字显示转换成数字(记得的方法全部写出来)var a = 123; 隐式转换成字符串显示转换字符串var a = '12'; a = Number(a);var a = parseInt('11aabb'); a = ? var a = parseInt('aa11bb'); a = ?var a = parseInt(11,2); a = ? var a = parseInt(11,8); a = ?parseInt的兼容问题:var a = parseFloat(' 11 12 ');a = ? var a = parseFloat(' 11 ');a = ?var a = parseFloat(' cnb 12 ');a = ?var a = 0.6; a.toFixed();a = ? var a = -0.6; a.toFixed(2);a = ?toFixed(num);的兼容问题:var a = 11; a = a.toString(8);a = ? var a = 11;a = a.toString(16); a = ?字符串转换成对象JSON. 对象转换成字符串JSON.6、基本几个弹窗和如何测试一个程序运行时间7、写一个对100以内的奇数求和8、判断是否为闰年。
js测试题及答案
js测试题及答案一、单选题(每题2分,共10分)1. JavaScript中,以下哪个是正确的变量声明方式?A. var name = "Kimi"B. name = "Kimi"C. const name = "Kimi"D. var name = Kimi答案:C2. 在JavaScript中,以下哪个是正确的函数声明?A. function myFunction() { }B. function myFunction() { return "Hello"; }C. var myFunction = function() { }D. All of the above答案:D3. 下列哪个选项是JavaScript中的全局对象?A. windowB. documentC. navigatorD. All of the above答案:D4. 在JavaScript中,以下哪个是正确的数组声明方式?A. var colors = "red", "green", "blue";B. var colors = ["red", "green", "blue"];C. var colors = new Array("red", "green", "blue");D. All of the above答案:D5. 下列哪个选项是JavaScript中的严格模式?A. "use strict";B. "use strict":C. 'use strict';D. All of the above答案:A二、多选题(每题4分,共20分)6. JavaScript中,以下哪些是合法的标识符?A. _variableB. 2variableC. $variableD. variable-答案:A, C7. 在JavaScript中,以下哪些是有效的数据类型?A. NumberB. StringC. BooleanD. Undefined答案:A, B, C, D8. 下列哪些是JavaScript中的对象?A. ArrayB. DateC. MathD. Function答案:A, B, C, D9. 在JavaScript中,以下哪些是正确的事件类型?A. clickB. loadC. submitD. error答案:A, B, C, D10. 下列哪些是JavaScript中的错误类型?A. SyntaxErrorB. TypeErrorC. ReferenceErrorD. Error答案:A, B, C, D三、判断题(每题2分,共10分)11. JavaScript是弱类型的语言。
jsdom基础练习题
jsdom基础练习题jsdom是一个用于在Node.js环境中模拟浏览器环境的库,它可以让我们在服务器端运行和测试前端JavaScript代码。
本文将介绍一些jsdom基础练习题,帮助你巩固对jsdom的理解和运用。
1. 创建一个简单的HTML文档在使用jsdom之前,我们需要创建一个简单的HTML文档作为测试基准。
请使用以下代码创建一个名为index.html的文件,并输入如下内容:```html<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>jsdom练习</title></head><body><div id="container"><h1>这是一个测试</h1><p>这是一个段落</p><ul><li>列表项1</li><li>列表项2</li><li>列表项3</li></ul></div></body></html>```2. 使用jsdom加载HTML文档安装jsdom并引入它:```bashnpm install jsdom``````javascriptconst jsdom = require("jsdom");const { JSDOM } = jsdom;const html = fs.readFileSync("./index.html", "utf-8"); const dom = new JSDOM(html);```通过以上代码,我们成功将HTML文档加载到了`dom`对象中,接下来我们就可以使用jsdom提供的各种方法对文档进行操作。
原生js逻辑测试题及答案
原⽣js逻辑测试题及答案01、屏幕打印2000到3000之间的所有的数。
<script type="text/JavaScript">for (var i = 2000; i < 3001; i++){document.write(i+"<br />")}</script>02、求450到550之间所有奇数的和。
<script type="text/JavaScript">var num = 0;for (var i = 451; i < 550; i+=2) {num += i}document.write("450到550之间所有奇数的和为:" + num)</script>03、找出200以内,既能整除3⼜能整除5的所有数。
<script type="text/javascript">for (var i = 0; i < 201; i++) {if(i % 3 == 0 && i % 5 == 0){document.write(i+"<br />")}}</script>04、如果输⼊⼀个数,则弹出对话框“您输⼊的是偶数”,否则弹出“您输⼊的是奇数”<script type="text/javascript">var oBtn = document.getElementById("btn")oBtn.onclick = function(){var oInputVal = parseInt(document.getElementById("num").value)if(oInputVal % 2 == 0){alert("您输⼊的是偶数")}else{alert("您输⼊的是奇数")}}</script>05、页⾯弹出输⼊框,只有当⽤户输⼊Alice和Bob这两个名字时,才会向⽤户问好“你好”。
HTML+CSS+JS测试题汇总(单选题+多选题100道)
HTML+CSS+JS测试题汇总(单选题+多选题100道)1.HTML 是一种什么语言?A.标记语言B.编程语言C.脚本语言D.超文本库2.HTML 文档可以使用哪个后缀名?A..htmlB..txtC..exeD..xml3.下面的选项中,用于表示HTML 标题的是?A.h1-h6B.headerC.headD.Heading4.<title>是文档的标题,正确的结束标记应该是?A.</title>B.<title>C.<title/>D.<!title>5.下面选项中,哪个是HTML 标题中最大的标题?A.<h1>B.<head>C.<header>D.<h6>6.HTML中的<p></p>标记用来定义?A.一个段落B.一个表格C.一个单元格D.一个标题7.在HTML 页面中,创建水平线用什么标签?A.<hr>B.<br>C.<nr>D.<head>8.下面选项中,用于创建折行(换行)的标签是?A.<br>B.<p>C.<head>D.<hr>9.在HTML中,哪个标签是用来定义重要的文本?A.<strong>B.<i>C.<b>D.<sup>10.在HTML 中,用什么属性来添加图像的URL 地址?A.srcB.addressC.LocationD.Url11.什么属性用来为图像定义可替代的文本?A.AltB.HeightC.widthD.Src12.【多选题】在HTML 中,设置图像的宽度与高度是用哪两个属性?A.HeightB.widthC.srcD.Alt13.创建有序列表使用什么标签?A.<ol>B.<dl>C.<dir>D.<ul>14.下面哪个选项中的标签都是表格标签?A.<table>、<tr>、<td>B.<table>、<tr>、<p>C.<table>、<head>、<tfoot>D.<thead>、<body>、<tr>15.在HTML中有效,规范的注释声明是?A.<!--这是注释-->B.//这是注释C.<--这是注释-->D./*这是注释*/16.什么属性用于定义<table> 是否显示边框?A.borderB.tableborderC.heightD.Width17.什么属性定义单元格应该横跨的列数?A.ColspanB.ColsC.RowsD.Rowspan18.什么HTML 插件用于插入多媒体文件?A.<embed>B.<form>C.<img>D.<table>19.什么标签用于创建供用户输入的HTML 表单?A.<form>B.<img>C.<a>D.<table>20.type 属性的哪个值用于定义密码字段?A.PasswordB.submitC.textD.Radio21.type 属性的哪个值用于定义提交按钮?A.submitB.CheckboxC.textD.radio22.下面选项中,哪个不是<audio> 元素中的属性?A.repeatB.srcC.controlsD.Autoplay23.CSS的作用?A.控制web文档的外观样式?B.存储web脚本C.存储web关键字D.定义web文档的结构24.什么标签定义了内联元素?A.<span>B.<div>C.<h1>D.<p>25.什么标签定义了下拉选项列表?A.<select>B.<input>C.<p>D.<img>26.什么标签定义了文本域?<textarea><input><select><button>27.type 属性的哪个值用于定义单选按钮?A.radioB.passwordC.textD.Submit28.CSS样式标签应该放置于HTML的什么标签内?A.HeadB.external fileC.BodyD.Title29.【多选题】以下哪些是CSS的部分组成?A.选择器B.属性C.属性值D.<p>元素30.如想更改网页界面的背景颜色,使用css哪个属性?A.background-colorB.ground-colorC.colorD.bgcolor31.CSS 添加到HTML中,最好的方式是?A.外部引用B.内部样式表C.内联样式D.标签32.【多选题】关于CSS的特点,正确的说法有?A.便于页面的修改B.减少网页的体积C.便于页面风格的统一D.便于和数据库进行交互33.为什么一个字体的名字放在引号中?A.它由两个或更多的单词组成B.这是一个很少使用的字体C.作为后备字体D.它显示一个字体34.哪个CSS属性用于设置文本的粗细?A.font-weightB.font-sizeC.font-variantD.font-style35.以下哪个值不适用于文本对齐属性?A.evenB.centerC.leftD.Right36.【多选题】color属性接受以下哪些选项?A.十六进制B.颜色关键词C.八进制D.二进制37.text-indent作用于文本中的哪一个部分?A.段落的第一行B.整个段落C.整个段落,除了第一行D.段落的最后一行38.定义HTML文档的背景图的CSS属性为?A.background-imageB.background-positionC.background-colorD.background-repeat39.以下哪个选项是background-image图片路径的正确写法?A.url("pix/weave1.png")B."pix/weave1.png"C.url:pix/weave1.pngD.url:[pix/weave1.png]40.以下几个background-repeat的属性值哪一个可以实现继承?A.InheritB.repeat-xC.no-repeatD.repeat41.如何是背景图像不跟随页面元素滚动?A.background-attachment: fixedB.background-attachment: scrollC.background-attachment: inheritD.background-attachment: none42.【多选题】background-repeat属性值可以设置为?A.RepeatB.no-repeatC.repeat-xD.repeat-y43.这些属性在盒模型中以什么样的顺序工作?A.top->right->bottom->leftB.left->right->top->bottomC.left->top->right->bottomD.top->bottom->left->right44.设置内容的背景色时包括了什么部分?A.PaddingB.bodyC.Padding和marginD.Margin45.【多选题】以下那些选项是border的参数?A.sizeB.ColorC.styleD.Position46.宽度和高度的度量单位通常表示为?A.Px和%B.Pt和pcC.In和cmD.Px和cm47.【多选题】盒模型的总宽度由以下哪几项组成?A.Padding(填充)B.Border(边框)C.Width(内容宽度)D.Margin(边距)48.【多选题】常用的HTML块级标签?A.<h1>B.<p>C.<div>D.<span>49.从HTML页面布局的角度考虑,以下标签属于行级标签?A.<a>B.<p>C.<div>D.<img>50."display"属性的值是什么使内联元素充当块级元素?A.BlockB.InlineC.List-itemD.Table-cell51.【多选题】从下列选项中选择属于"visibility"属性的值?A.visibleB.hiddenC.showD.Inline52."display"属性的什么值可以使元素隐藏,在页面显示时不会展现出来,就好像该元素不存在一样?A.noneB.InlineC.BlockD.Hidden53.【多选题】display的属性值有哪些?A.display: noneB.display: blockC.display: inline-blockD.display: inline54.【多选题】元素可以浮动在哪些方向上?A.LeftB.RightC.BottomD.Top55.在CSS定位属性中,设置position的值为absolute意思是?A.绝对定位B.相对定位C.层叠定位D.固定定位56.下面哪个可以使HTML元素相对浏览器窗口固定位置?A.position:fixedB.position:relativeC.position:absoluteD.position:static57.默认情况下,当元素开始堆叠时,哪个元素会重叠在其他元素上方?A.最后一个B.没有C.第一个D.第二个58.在HTML页面中插入javascript需要使用什么标签?A.<script>B.<body>C.<code>D.<pre>59.通常,脚本标签放置在哪里?A.放在<head>里面B.放在<html>前面C.放在</html>后面D.随便放60.script 标签的什么属性用于添加外部JavaScript文件?A.SrcnguageC.TypeD.Href61.以下哪个是JavaScript的单行注释?A.//这是个注释B.<!--这是个注释-->C.%%这是个注释D.--这是个注释62.哪个关键字用于告诉JavaScript我们将要使用一个变量?A.VarB.IntC.VariableD.Vrb63.“else”语句用于?A.如果if 条件为false,告诉JavaScript执行某些操作B.忽略条件测试C.测试一个新的条件为真或假D.无条件64.经典的for 循环由多少部分组成?A. 3B. 4C. 2D. 165.break 语句描述正确的是?A.结束循环代码B.停止整个JavaScript代码运行C.直接跳入下一次循环D.继续循环66.如果while循环没有退出条件将运行多少次?A.无数次B. 1C. 4D.1000067.switch 语句通常使用多少个case?A.可以根据需要拥有多个caseB.2-3个C.1-2 个D.5个68.如何在新窗口打开链接?A.<a href="url" target="_blank">B.<a href="url" new>C.<a href="url" target="new">D.<a href="url" target="_parent">69.请选择可以使单元格中的内容进行左对齐的正确HTML 标签:A.<td align="left">B.<td valign="left">C.<td leftalign>D.<tdleft>70.如何产生带有圆点列表符号的列表?A.<ul>B.<dl>C.<list>D.<ol>71.在下列的HTML 中,哪个可以产生文本框?A.<input type="text">B.<input type="textfield">C.<textinput type="text">D.<textfield>72.在下列的HTML 中,哪个可以插入图像?A.<img src="image.gif">B.<img href="image.gif">C.<image src="image.gif">D.<img>image.gif</img>73.在以下的HTML 中,哪个是正确引用外部样式表的方法?A.<link rel="stylesheet" href="mystyle.css">B.<style src="mystyle.css">C.<stylesheet>mystyle.css</stylesheet>D.<link rel="stylesheet" src="mystyle.css">74.如何在CSS 文件中插入注释?A./* this is a comment */B.// this is a commentC.// this is a comment //D.this is a comment75.如何为所有的<h1> 元素添加背景颜色?A.h1 {background-color:#FFFFFF}B.h1.all {background-color:#FFFFFF}C.all.h1 {background-color:#FFFFFF}D.h1 {bgcolor:#FFFFFF}76.如何改变某个元素的文本颜色?A.color:B.text-color:C.fgcolor:D.text-color=77.哪个CSS 属性可控制文本的尺寸?A.font-sizeB.text-styleC.font-styleD.text-size78.在以下的CSS 中,可使所有元素变为粗体的正确语法是?A.p {font-weight:bold}B.<p style="font-size:bold">C.<p style="text-size:bold">D.p {text-size:bold}79.如何显示没有下划线的超链接?A. a {text-decoration:none}B. a {text-decoration:no underline}C. a {underline:none}a {decoration:no underline}80.如何改变元素的字体?A.font-family:B.font=C.f:D.font-size:81.如何使文本变为粗体?A.font-weight:boldB.font:bC.style:boldD.font=bold82.如何显示这样一个边框:上边框10 像素、下边框5 像素、左边框20 像素、右边框1 像素?A.border-width:10px 1px 5px 20pxB.border-width:10px 5px 20px 1pxC.border-width:10px 20px 5px 1pxD.border-width:5px 20px 10px 1px83.如何改变元素的左边距?A.margin-left:B.text-indent:C.indent:D.margin:84.以下几种样式规则的选择器中,只能修饰唯一一个HTML元素的是那个A.ID选择器B.类选择器C.关联选择器D.伪元素选择器85.关于float描述错误的是?A.float:centerB.float:noneC.float:leftD.float:right86.【多选题】HTML文件的结构由那几个标记组成?A.<html>B.<head>C.<title>D.<body>87.【多选题】一般HTML 元素包括:A.开始标签B.内容C.结束标签D.body 标签88.【多选题】创建列表可以使用什么标签?A.<dl>B.<ol>C.<ul>D.<dir>89.【多选题】网页中的三种核心语言是什么?A.HTMLB.JavaScriptC.CSSD.PHP90.CSS 指的是?A.Cascading Style Sheetsputer Style SheetsC.Creative Style SheetsD.Colorful Style Sheets91.以下描述错误的是:A.<img>元素不一定含有属性src,但一定含有属性alt。
开发面试题目(3篇)
第1篇一、基本概念与原理1. 请简述什么是面向对象编程(OOP)?列举OOP的三大基本特征。
2. 解释什么是封装、继承和多态,并举例说明。
3. 简述什么是设计模式,列举三种常用的设计模式及其适用场景。
4. 请解释什么是单例模式,并实现一个单例模式的示例。
5. 什么是原型模式?请简述其原理和实现方式。
6. 请解释什么是工厂模式,并实现一个简单的工厂模式示例。
7. 简述什么是MVC模式,并解释其在Web开发中的应用。
8. 什么是依赖注入(DI)?请解释其原理和实现方式。
9. 请解释什么是反射,并举例说明其在Java中的应用。
10. 什么是异常处理?请解释try-catch-finally语句的用法。
二、编程能力1. 编写一个函数,实现两个数的加法,不使用+运算符。
2. 实现一个函数,用于判断一个字符串是否为回文。
3. 编写一个函数,实现一个链表的插入操作。
4. 实现一个函数,用于查找链表中的倒数第k个节点。
5. 编写一个函数,实现一个队列的入队和出队操作。
6. 实现一个函数,用于判断一个二叉树是否为平衡二叉树。
7. 编写一个函数,实现一个有序数组到有序链表的转换。
8. 实现一个函数,用于计算一个整数的阶乘。
9. 编写一个函数,实现一个栈的入栈和出栈操作。
10. 实现一个函数,用于判断一个字符串是否为有效的括号序列。
三、数据结构与算法1. 请解释什么是时间复杂度和空间复杂度,并举例说明。
2. 请解释什么是排序算法,列举常见的排序算法及其时间复杂度。
3. 实现一个快速排序算法。
4. 实现一个归并排序算法。
5. 实现一个插入排序算法。
6. 实现一个堆排序算法。
7. 请解释什么是查找算法,列举常见的查找算法及其时间复杂度。
8. 实现一个二分查找算法。
9. 实现一个哈希表,并实现插入和查找操作。
10. 实现一个图的数据结构,并实现图的深度优先搜索(DFS)和广度优先搜索(BFS)算法。
四、数据库1. 请解释什么是数据库的三范式(1NF、2NF、3NF),并举例说明。
html css js测试题-副本讲解
html+css+js测试题选择题1.html是什么意思?a)高级文本语言b)超文本标记语言c)扩展标记语言d)图形化标记语言2.哪一个标记用于使html文档中表格里的单元格占据多个单元格的宽度?a)cellspacingb)cellpaddingc)rowspand)colspan3.下列那项技术可以用于帮助网页设计时使页面具有统一、专业的外观?a)htmlb)dhtmlc)cssd)url4.以下哪个项目不是可以在h t m l文档中使用的特殊字符。
a)>小于号<b)&tl; <:大于号>c)©d) 5.a文件夹与b文件夹是同级文件夹,其中a下有a.htm,b下有b.htm文件,现在我们希望在a.htm文件中创建超链接,链接到b.htm,应该在a.htm页面代码中如何描述链接内容?a)b.htmb)././././b/b.htmc)../b/b.htmd)../../b.htm6.我们想要将表格中加入的图像充满整个单元格,使用哪种方式可以做到?a)size="100"b)size="100%"c)width="100"d)width="100%"7. 不是表单元素input的类型的是a)textb)radioc)selectd)filee)passwordf)radiog)textareah)hiddeni)checkboxj)option8 . 下列哪种css样式定义的方式拥有最高的优先级?a) 嵌入b) 行内c) 链接d) 导入9 . web标准的制定者是?a) 微软b) 万维网联盟(w3c)c) 网景公司(netscape)d) sun公司10 . 请选择产生粗体字的html标签:a) <i>b) <b>c) <em>d) <strong>11 . 下边能把超链接页面显示到框架中的是()?a) <a href="" target="_blank">baidu<a><iframe src="" />b) <a href="" target="myframe">baidu<a><iframe href="" name="myframe" />c) <a href="" target="myframe">baidu<a><iframe src="" name="myframe" />d) <a src="" target="myframe">baidu<a><iframe href="" name="myframe" />12 . 以下选项中,哪个全部都是表格标签?a) <table><head><tfoot>b) <table><tr><td>c) <table><tr><tt>d) <thead><body><tr>13 . 以下的html中,哪个是正确引用外部样式表的方法?a) <style src="mystyle.css">b) <link rel="stylesheet" type="text/css" href="mystyle.css">c) <stylesheet>mystyle.css</stylesheet>14. 如何为所有的<h1>元素添加背景颜色?a) h1.all {background-color:#ffffff}b) h1 {background-color:#ffffff}c) all.h1 {background-color:#ffffff}15 . css如何改变某个元素的文本颜色?a) text-color:b) color:c) font-color:16 . 以下的css中,可使所有<p>元素变为粗体的正确语法是?a) <p style="font-size:bold">b) <p style="text-size:bold">c) p {font-weight:bold}d) p {text-size:bold}17 . 如何显示没有下划线的超链接?a) a {text-decoration:none}b) a {text-decoration:no underline}c) a {underline:none}d) a {decoration:no underline}18 . 关于相对定位和绝对定位,下列说法正确的是()a) 相对定位的元素会脱离标准文档流b) 绝对定位的元素会脱离标准文档流c) 相对定位的位置属性值是相对于最近的父元素的位置d) 绝对定位的位置属性值是相对于最近的父元素的位置19 . 写“hello world”的正确javascript语法是?a) document.write("hello world")b) "hello world"c) response.write("hello world")d) ("hello world")20 . 插入javacript的正确位置是?a) <body>部分b) <head>部分c) <body>部分和<head>部分均可21 . 引用名为“xxx.js”的外部脚本的正确语法是?a) <script src="xxx.js">b) <script href="xxx.js">c) <script name="xxx.js">22 . 如何在显示提示框,提示hello world?a) confirm("hello world")b) prompt("hello world")c) alert("hello world")d) show("hello world")23 . 如何创建函数?a) function myfunction(var num){}b) function myfunction(){}c) void myfunction() {}d) fun = function () {} 匿名函数24. 定义javascript数组的正确方法是?a) var txt = new array="tim","kim","jim"b) var txt = new array(1:"tim",2:"kim",3:"jim")c) var txt = new array("tim","kim","jim")d) var txt = new array:1=("tim")2=("kim")3=("jim")25 . 打开名为“window2”的新窗口的javascript语法是?a) open.new("","window2")b) window.open("","window2")c) new("","window2")d) new.window("","window2")26.下列不属于文档对象的方法的是()a) getElementsByNameb) getElementByIdc) getElementByNamed) getElementsByTagName27.分析下面这两行代码的作用()01 <a href=”javascript:history.back()”></a>02 <a href=”javascript:history.forward()”></a>a)代码第1行的作用相当于后退按钮b)代码第2行的作用相当于后退按钮c)代码第1行的作用相当于前进按钮d)以上表述不都不正确28.通常情况下,一个url的格式是()a)协议//路径名称主机:端口/#哈希标识?搜索条件b)协议//主机:端口/#哈希标识/路径名称?搜索条件c)协议//主机:端口/路径名称?搜索条件d)协议//主机:端口?搜索条件/路径名称#哈希标识29. 对location对象的叙述错误的是()a) 可以获取当前路径b) 可以改变当前路径c) 可以用来刷新页面d) 是只读属性,不能修改30.对下面这段代码分析不正确的是()funtcion submit(){form1.submit();alert(“提交成功”)}function reset(){form1.reset();}a)调用submit()可以提交表单b)调用reset()重置表单c)只有点击提交按钮才能提交表单d)submit事件属于form表单31.下列对符号在正则表达式中所表示的意义解释错误的是()a) ˆ(尖号):匹配字符串的开头b) $(美元符号):匹配字符串的结尾c) ?(问号):匹配前面的子表达式一次或多次d) \(反斜杠):对特殊字符的特殊元字符含义进行转义32、产生当前日期的方法是( )a.now();b.date()c.new Date()d.new Now()33、如果想在网页显示后,动态地改变网页的标题( )a.是不可能的b.通过document.write(“新的标题内容”)c. 通过document.title=(“新的标题内容”)d. 通过document.changetitle(“新的标题内容”)34、在html页面中,css样式的属性名为background-image,对应的js中style对象的属性名是()。
前端基础班升学测试题(7期)
前端精英班入学测试题Name:_________ Score_________ 努力奋斗选择题每题1.5分,共计45分;代码题每题4分,共计24分;简答题每题2分,共计16分,填空题每题1.5,共15分;一、单选题(每题1.5分)请把答案写到答题卡上1 2 3 4 5 6 7 8 9 1011 12 13 14 15 16 17 18 19 2021 22 23 24 25 26 27 28 29 301. 下面哪个选项是定义文档类型的标签()(A) head(B) html(C) Doctype(D) body2. 下面哪一项不是meta标签的作用()(A) 指定网页所使用的编码格式(B) 设置网页关键字(C) 设置网页文档类型(D) 设置网页使用的语言3. 当网页无法正常显示图片时,可以通过哪种方式对该图片进行描述()(A)设置alt属性(B)设置title属性(C)设置href 属性(D) 以上都不可以4.在上面结构中,哪种写法可以在index页面中有输出1.jpg(a)(A) <img src=”./1/2/1.jpg” />(B) <img src=”../1/2/1.jpg” />(C) <img src=”1/2/1.jpg” />(D) <img src=”1.jpg” />5. 下面哪些代码注释不起作用?()(A)(B)(C)(D)6. 哪个标签属于块级元素?()(A) font (B) link(C) div (D) span7. 给文本输入框设置默认值admin的是下面哪个选项? ()(A) <input type=”submit” value=”admin” />(B) <input type=”textarea” name=”admin” />(C) <input type=”text” value=”admin” />(D) <input type=”button” value=”admin” />8. 设置单选控件默认被选中的是哪个?()(A) <input type=”radio” select=”select”>(B) <input type=”checkbox” select=”select”/>(C) <input type=”radio” selected=”selected”>(D) <input type=”radio” checked=”checked”>9.通过哪个标签可以给表格设置表格头部?()(A) <h1></h1>(B) <th></th>(C) <td></td>(D) <caption></caption>10.两个相邻元素都设置了margin属性以后,会发生()(A) 外边距合并;(B) 内边距合并;(C) 内容合并;(D) 不确定;11.在页面中设置一个div元素水平居中对齐,应设置元素的CSS为()(A) vertical-align:middle;(B) margin:0 auto;(C) background-position:center;(D) 不确定;12.将块级元素转化为行内元素的方式是?()(A) display:inline(B) display:block(C) display:inline-block(D) 以上都不是13.关于font属性联写描述正确的是()(A) font属性中 font-size和font-family先后顺序可以调换(B) font-weight 属性是用来设置字体是否为斜体显示的(C) font-style 属性是用来设置字体是否为斜体显示的(D) 该属性中必须有font-size 和 line-height14.关于 .box #one描述正确的是()(A) 将html页面中所有类名叫box和one的标签选中并设置样式(B) 将html页面中类名叫box和one的标签选中并设置样式(C) 将html页面中类名叫box的标签里面的子元素类名叫one的标签选中并设置样式(D) 将html页面中类名叫box的标签里面的子元素id名叫one的标签选中并设置样式15.精灵图技术主要是通过CSS中的()属性对精灵图片进行操作(A) background-attachment ;(B) background-color;(C) background-position;(D) 不确定;16. “相对定位”是相对何者定位?(A) 离自己最近的已经定位了的父盒子(B) 页面版心(C) 浏览器窗口的左上角(D) 元素未设置定位时候的位置17.如果希望一行上的文字与图片垂直居中对齐,可以设置哪个属性:(A) margin: 0 auto;(B) text-aline:center(C) vertical-align: middle(D) float: left18.设置a标签的伪类,我们必须按照一定的顺序来设置,正确的顺序是?()(A) link visited active hover(B) link visited hover active(C) visited link hover active(D) visited link active hover19.计算盒子模型的宽度不计算下面哪个属性:(A) border(B) padding(C) margin(D) width20.解决外边距塌陷方法是?()(A)给父盒子设置透明边框(B)给父盒子设置display: block(C) 给父盒子设置clear:both(D) 给父盒子设置padding值21.在这么一个结构,如果要让one盒子在左侧显示,two盒子在右侧显示,那么css代码应该是:()(A) .one {float: left} .two {float: right}(B) .one {float: left} .two {float: left}(C) .one {float: right} .two {float: right}(D) .one {float: right} .two {float: left}22.padding:10px 20px 30px 的设置的顺序是:()(A)上 10px、右 20px、左 30px、下 30px(B)上 10px、下 20px、左 30px、右 30px(C) 下 30px、上 20px、左 10px、右 10px(D) 上 10px、右 20px、下 30px、左 20px23.以下哪些操作不会脱离流(A) 浮动(B) 相对定位(C) 绝对定位(D) 固定定位24.在javascript中不存在哪些数据类型(A) string(B) number(C) boolean(D) int25.输出的结果是什么?(A) 123123(B) 246(C) 123(D) 以上都不正确26.下列名称中,能作为变量名的是()(A) 1name(B) this(C) &function(D) pArray27.var a=10; b=20; var d=++b+a++ ; console.log(d);控制台显示的结果是()(A)33(B)31(C)32(D)以上都不对28.Var n1=”123”; var n2=123; var c=n1-n2; alert(c); 结果是()(A) NaN(B ) 123123(C) 0(D) 都不对29. 获取数组中元素的个数(数组长度),是哪个属性?()(A) count(B) length(C) concat()(D) 以上都不对30. 关于break与continue描述正确的是()(A)break语句只有在switch语句中才能用(B)当在循环语句中,代码遇到break程序会立马跳出本次循环进入到下一次循环中(C)当在循环语句中,代码遇到continue程序会立马结束当前循环(D)当在switch语句中,代码遇到break程序会马上结束当前switch判断二、简答题(每题2分)1. 有id、类选择器、标签选择器优先级的计算公式是什么?行内样式和!important哪个优先级高?2. 行内元素和块级元素的具体区别是什么?两种元素的padding和margin可设置吗?3.请写出解决外边距合并导致父盒子“塌陷”的几种解决方式4.请写出清除浮动的几种方式5.请写出将数字转化为字符串的几种方法6. 例举3种强制类型转换和2种隐式类型转换?7.请写出写出overflow:hidden display:none visibility:hidden之间的区别8.position的值有哪些? relative和absolute定位原点是?三、填空题(每题1.5分)1.页面中有一个div表签,该标签中包含了一个段落表p。
JS测试题目
31 3.3102.31.预测以下代码片段的输出结果:var str;alert(typeof str);(3.3分)A.string;B.undefined;C.object;D.String;★标准答案:B2.预测以下代码片段的输出结果:var student=new Object();student.study=function(){window.alert(“开始学习了”);}study();(3.3分)A.输出“开始学习了”B.程序出错。
不能在实例化对象之后,再添加方法C.程序出错。
study()方法不能直接调用。
应该用student来调用。
D.程序出错。
给student.study赋值时,右边的函数必须有名字。
★标准答案:C3.考察以下程序片段:var str=“32px”;var str1=str.slice(-2);alert(str);alert(str1);以下选项正确的是?(3.3分)A.依次输出”px”“px”B.依次输出”32”“32”C.依次输出”32px”“px”D.依次输出”32px”“32px”★标准答案:C4.考察以下程序片段:var str=“12px”;var s=str.indexof(“2”);alert(s);以下选项正确的是?(3.3分)A.输出1B.输出2C.输出pD.输出12★标准答案:A5.function的定义块中,关键字this可以(3.3分)A.引用当前类B.引用当前变量C.引用当前对象D.引用当前值★标准答案:C6.分析下面的JavaScript代码段:var a=15.49;document.write(Math.round(a));输出的结果是()(3.3分)A.15B.16C.15.5D.15.4★标准答案:A7.以下生成对象的方法中,不正确的是()(3.3分)A.var str=”javascript”;B.fruit=new Array(3);C.today=new Date(2011,5,11);D.var a=new Boolean(a);★标准答案:D8.选项正确的是()叙述1:构造函数与普通函数并没有本质区别。
JS测试题
一、选择器(10个)1.在HTML页面中,下列选项除了(D)都属于鼠标相关事件。
(选择一项)a)onClickb)onMouseOverc)onMouseDownd)onChange2.在HTML中,以下代码(A)可以正确显示如图所示的对话框。
(选择一项)A.<script language=”javascript”>confirm(“欢迎学习.NET”);</script>B.<script language=”javascript”>alert(“欢迎学习.NET”);</script>C.<script language=”javascript”>document.write(“欢迎学习.NET”);</script>D.<script language=”javascript”>document.open(“欢迎学习.NET”);</script>3.当鼠标移到某些网站上的图片广告上时,它会切换为别的图片,而当鼠标移走时,又恢复为原来的图片,这是对JavaScript事件中(C)和(D)事件的典型应用。
(选择二项)A.onFocusB.onMouseDownC.onMouseOverD.onMouseOut4.分析下面的JavaScript代码段,输出的结构是(C)。
(选择一项)emp=new Array(5);emp[1]=1;emp[5]=2;document.write(emp.length);A.2B.5C.6D.报错5.在JavaScript中,可以使用Date对象的(A)方法返回一个月中的每一天。
(选择一项)A.getDate()B.getDay()C.getMonth()D.getTime()6.在HTML页面中,包含id为“div1”的层,下列选项中的JavaScript代码可以使该层显示。
js基础第一次测试题(附答案)
JavaScript学期第一次测试题本试题满分100分,100分钟完卷一、选择题(每题2分,多选题错选、少选不得分)1、分析下段代码输出结果是(B)var arr = [2,3,4,5,6];var sum =0;for(var i=1;i < arr.length;i++) {sum +=arr[i] }console.log(sum);A.20 B.18 C.14 D.122、以下关于Function函数对象的说法不正确的是(D )A.函数可有可无返回值B.调用函数时传递的参数是实参C.函数调用时候,可以用一个变量来接收函数返回值D.函数必须要有形式参数3、以下代码运行的结果是输出(B )var a = b = 10;(function(){var a=b=20})();console.log(b);A.10 B.20 C.报错D.undefined4、以下代码运行后的结果是输出( A )var a=new Object();=”admin”console.log();A.admin B.a C.“admin”D.[a] 5、在JS 中,’1555’+3 的运行结果是( C ) A.1558 B.1552 C.15553 D.15536、以下代码运行后弹出的结果是( B )var a = 888;++a;alert(a++);A.888 B.889 C.890 D.8917、关于变量的命名规则,下列说法正确的是(ABCDE )A.首字符必须是大写或小写的字母,下划线(_)或美元符($)B.除首字母的字符可以是字母,数字,下划线或美元符C.变量名称不能是保留字D.长度是任意的E.区分大小写8、下列的哪一个表达式将返回值为假(B )A.!(3<=1)B.(4>=4)&&(5<=2)C.(“a”==“a”)&&(“c”!=“d”)D.(2<3)||(3<2)9、下面代码,k的运行结果是( B )var i = 0,j = 0;for(;i<10,j<6;i++,j++){k = i + j;}A.16 B.10 C.6 D.1210、var x = 1; function fn(n){n = n+1}; y = fn(x); y 的值为(D )A.2 B.1 C.3 D.undefined11、[1,2,3,4].join("0").split("") 的执行结果是(C )A."1,2,3,4"B.[1,2,3,4]C.[“1”,“0”,“2”,“0”,“3”,“0”,“4”]D."1,0,2,0,3,0,4"12、下面代码的运行结果是:第一次弹( A )第二次弹(D )function fn1() {alert(1);}alert( fn1() );A.1B.alert(1);C.function fn1() { alert(1); }D.undefined13,以下代码运行后,结果为(B )fn1();var fn1 = function(a){ alert(a); }A.1 B.程序报错C.alert(1); D.undefined14,var n = "miao wei ke tang".indexOf("wei",6);n的值为:(A )A.-1 B.5 C.程序报错D.-1015,下面对substring() 方法描述不正确的是( C )A.一共有两个参数,省略第二个参数表示从参数开始位置提、截取到字符串结束。
js工程师面试题及答案
js工程师面试题及答案HTML+CSS1.对WEB标准以及W3C的理解与认识标签闭合、标签小写、不乱嵌套、提高搜索机器人搜索几率、使用外链css和js脚本、结构行为表现的分离、文件下载与页面速度更快、内容能被更多的用户所访问、内容能被更广泛的设备所访问、更少的代码和组件,容易维护、改版方便,不需要变动页面内容、提供打印版本而不需要复制内容、提高网站易用性;2.xhtml和html有什么区别HTML是一种基本的WEB网页设计语言,XHTML是一个基于XML的置标语言最主要的不同:XHTML 元素必须被正确地嵌套。
XHTML 元素必须被关闭。
标签名必须用小写字母。
XHTML 文档必须拥有根元素。
3.Doctype? 严格模式与混杂模式-如何触发这两种模式,区分它们有何意义? 用于声明文档使用那种规范(html/Xhtml)一般为严格过度基于框架的html文档加入XMl声明可触发,解析方式更改为IE5.5 拥有IE5.5的bug4.行内元素有哪些?块级元素有哪些?CSS的盒模型?块级元素:div p h1 h2 h3 h4 form ul行内元素: a b br i span input select Css盒模型:内容,border ,margin,padding5.CSS引入的方式有哪些? link和@import的区别是?内联内嵌外链导入区别:同时加载前者无兼容性,后者CSS2.1以下浏览器不支持 Link 支持使用javascript改变样式,后者不可。
6.CSS选择符有哪些?哪些属性可以继承?优先级算法如何计算?内联和important哪个优先级高?标签选择符类选择符 id选择符继承不如指定 Id>class>标签选择后者优先级高7.前端页面有哪三层构成,分别是什么?作用是什么?结构层Html 表示层 CSS 行为层 js8.css的基本语句构成是?选择器{属性1:值1;属性2:值2;……}9.你做的页面在哪些流览器测试过?这些浏览器的内核分别是什么?Ie(Ie内核) 火狐(Gecko)谷歌(webkit) opear(Presto)10.写出几种IE6 BUG的解决方法1.双边距BUG float引起的使用display2.3像素问题使用float引起的使用dislpay:inline -3px3.超链接hover 点击后失效使用正确的书写顺序 linkvisited hover active4.Ie z-index问题给父级添加position:relative5.Png 透明使用js代码改6.Min-height 最小高度!Important 解决’7.select 在ie6下遮盖使用iframe嵌套8.为什么没有办法定义1px左右的宽度容器(IE6默认的行高造成的,使用over:hidden,zoom:0.08 line-height:1px)11.标签上title与alt属性的区别是什么?Alt 当图片不显示是用文字代表。
NodeJS有难度的面试题(能答对几个)
NodeJS有难度的⾯试题(能答对⼏个)1、Node模块机制1.1 请介绍⼀下node⾥的模块是什么Node中,每个⽂件模块都是⼀个对象,它的定义如下:function Module(id, parent) {this.id = id;this.exports = {};this.parent = parent;this.filename = null;this.loaded = false;this.children = [];}module.exports = Module;var module = new Module(filename, parent);所有的模块都是 Module 的实例。
可以看到,当前模块(module.js)也是 Module 的⼀个实例。
1.2 请介绍⼀下require的模块加载机制这道题基本上就可以了解到⾯试者对Node模块机制的了解程度基本上⾯试提到1、先计算模块路径2、如果模块在缓存⾥⾯,取出缓存3、加载模块4、的输出模块的exports属性即可// require 其实内部调⽤ Module._load ⽅法Module._load = function(request, parent, isMain) {// 计算绝对路径var filename = Module._resolveFilename(request, parent);// 第⼀步:如果有缓存,取出缓存var cachedModule = Module._cache[filename];if (cachedModule) {return cachedModule.exports;// 第⼆步:是否为内置模块if (NativeModule.exists(filename)) {return NativeModule.require(filename);}/********************************这⾥注意了**************************/// 第三步:⽣成模块实例,存⼊缓存// 这⾥的Module就是我们上⾯的1.1定义的Modulevar module = new Module(filename, parent);Module._cache[filename] = module;/********************************这⾥注意了**************************/// 第四步:加载模块// 下⾯的module.load实际上是Module原型上有⼀个⽅法叫Module.prototype.loadtry {module.load(filename);hadException = false;} finally {if (hadException) {delete Module._cache[filename];}}// 第五步:输出模块的exports属性return module.exports;};接着上⼀题继续发问1.3 加载模块时,为什么每个模块都有__dirname,__filename属性呢,new Module的时候我们看到1.1部分没有这两个属性的,那么这两个属性是从哪⾥来的// 上⾯(1.2部分)的第四步module.load(filename)// 这⼀步,module模块相当于被包装了,包装形式如下// 加载js模块,相当于下⾯的代码(加载node模块和json模块逻辑不⼀样)(function (exports, require, module, __filename, __dirname) {// 模块源码// 假如模块代码如下var math = require('math');exports.area = function(radius){return Math.PI * radius * radius}});也就是说,每个module⾥⾯都会传⼊__filename, __dirname参数,这两个参数并不是module本⾝就有的,是外界传⼊的1.4 我们知道node导出模块有两种⽅式,⼀种是exports.xxx=xxx和Module.exports={}有什么区别吗exports其实就是module.exports其实1.3问题的代码已经说明问题了,接着我引⽤廖雪峰⼤神的讲解,希望能讲的更清楚module.exports vs exports很多时候,你会看到,在Node环境中,有两种⽅法可以在⼀个模块中输出变量:⽅法⼀:对module.exports赋值:// hello.jsfunction hello() {console.log('Hello, world!');}function greet(name) {console.log('Hello, ' + name + '!');}module.exports = {hello: hello,greet: greet};⽅法⼆:直接使⽤exports:// hello.jsfunction hello() {console.log('Hello, world!');}function greet(name) {console.log('Hello, ' + name + '!');}function hello() {console.log('Hello, world!');}exports.hello = hello;exports.greet = greet;但是你不可以直接对exports赋值:// 代码可以执⾏,但是模块并没有输出任何变量:exports = {hello: hello,greet: greet};如果你对上⾯的写法感到⼗分困惑,不要着急,我们来分析Node的加载机制:⾸先,Node会把整个待加载的hello.js⽂件放⼊⼀个包装函数load中执⾏。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、选择题(每题2分,多选题错选、少选不得分)1、分析下段代码输出结果是()? ? var arr = [2,3,4,5,6];? ? var sum =0;? ? for(var i=1;i < arr.length;i++) {? ? ? ? sum +=arr[i] ? ?}? ? console.log(sum);A.20 ? ? B.18 ? ? C.14 ? ? D.122、以下关于Array 数组对象的说法不正确的是(?)A.对数组里数据的排序可以用sort 函数,如果排序效果非预期,可以给sort 函数加一个排序函数的参数B.reverse 用于对数组数据的倒序排列C.向数组的最后位置加一个新元素,可以用pop 方法D.unshift 方法用于向数组删除第一个元素3、以下代码运行的结果是输出( ?)? ? var a = b = 10;? ? (function(){? ? ? ? var a=b=20? ? })();? ? console.log(b);A.10 ? ? B.20 ? ? C.报错? ? D.undefined 4、以下代码运行后的结果是输出( ? )? var a=[1, 2, 3];? ? console.log(a.join());A.123 ? ? B.1,2,3 ? ? C.1 ?2 ?3 ? ? D.[1,2,3] 5、在JS 中,’1555’+3 的运行结果是( ? ) A.1558 ? ? B.1552 ? ? C.15553 ? ? D.1553 6、以下代码运行后弹出的结果是( ? )? ? var a = 888;? ? ++a;? ? alert(a++);A.888 ? ? B.889 ? ? C.890 ? ? D.8917、关于变量的命名规则,下列说法正确的是(? ?)A.首字符必须是大写或小写的字母,下划线(_)或美元符($)B.除首字母的字符可以是字母,数字,下划线或美元符C.变量名称不能是保留字D.长度是任意的E.区分大小写8、下列的哪一个表达式将返回值为假(? ?)A.!(3<=1)B.(4>=4)&&(5<=2)C.(“a”==“a”)&&(“c”!=“d”)D.(2<3)||(3<2)9、下面代码,k的运行结果是(? ?)? ? var i = 0,j = 0;? ? for(;i<10,j<6;i++,j++){? ? ? ? k = i + j;?? ? }A.16 ? ? B.10 ? ? C.6 ? ? D.1210、var x = 1; function fn(n){n = n+1}; y = fn(x); y 的值为(? ?)A.2 ? ? B.1 ? ? C.3 ? ? D.undefined11、[1,2,3,4].join("0").split("") 的执行结果是(? ?)A."1,2,3,4" ? ? ? ? ? ? ??B.[1,2,3,4] ?C.[“1”,“0”,“2”,“0”,“3”,“0”,“4”] ? ? ? ? ? D."1,0,2,0,3,0,4"12、下面代码的运行结果是:第一次弹(? ?)第二次弹(? ?)? ? function fn1() {? ? ? ? alert(1);? ? }? ? alert( fn1() );A.1 ? ??B.alert(1); ? ??C.function fn1() { alert(1); } ? ? ?D.undefined13,以下代码运行后,结果为(? ?)? ? fn1();? ? var fn1 = function(a){ alert(a); }A.1 ? ? B.程序报错? ? C.alert(1); ? ? D.undefined14,var n = "miao wei ke tang".indexOf("wei",6);n的值为:(? ?)A.-1 ? ? B.5 ? ? C.程序报错? ? D.-1015,下面对substring() 方法描述不正确的是(? ?)A.一共有两个参数,省略第二个参数表示从参数开始位置提、截取到字符串结束。
B.提取之前会比较两个参数的大小,并根据大小调整位置。
C.可以接收负数参数,负数表示从后往前数字符位置。
D.如果没有设置参数,直接返回整个字符串。
16,alert( "12">"9" ) 的运行结果正确的是(? ?)A.true ? ? B.false17,下面的描述中不正确的是(? ?)A.arguments 中保存了实际传入函数内的所有参数。
B.return 只能在函数内部使用。
C.setInterval(fn1,1000) 只会调用一次fn1。
D.Date 对象的getMonth() 获取到的值比实际月份小1。
18,下面的等式成立的是(? ?)A.parseInt(12.5) == parseFloat(12.5)B.Number("") == parseFloat("")C.isNaN("abc") == NaND.typeof NaN === "number"19,下面的描述中不正确的是(? ?)A."==" 在比较过程中,不但会比较两边的值,还会比较两边的数据类型。
? ? ? ? B.NaN == NaN 的结果是true。
C.isNaN,判断传入的参数是否为数字,为数字返回true,否则返回false?D.字符串的length 只可以获取,不可以设置。
20,以下代码中,会出现什么结果:第一次弹(? ?),第二次弹(? ?),第三次弹(? ?)? ? function fn1() {? ? ? ? var a = 0;? ? ? ? function fn2() { ?++a; ?alert(a); }? ? ? ? return fn2;? ? }? ? fn1()();? ? var newFn = fn1();? ? newFn();? ? newFn();A.1 ? ? B.2 ? ? C.0 ? ? D.321,下面代码的运行结果是:第一次弹(? ?),第二次弹(? ?)? ? var a = 100;? ? function fn1() {?? ? ? ? alert(a);?? ? ? ? var a = 10;? ? } ?? ? alert( fn1() );A.100B.10C.function fn1() { alert(1); }D.undefined22,以下代码运行后,arr的结果为(? ?),arr2的结果为(? ?)? ? var arr = [1,2];? ? var arr2 = arr.concat(); ? ?? ? arr2.push( arr.splice(1,0) );A.[1,2] ? ? B.[1,2,[2]] ? ? C.[1,2,[]] ? ? D.[1,2,3]23,下面关于数组的描述正确的是(? ?)A.数组的length 既可以获取,也可以修改。
B.调用pop() 方法,不会修改原数组中的值。
C.shift() 方法的返回值是新数组的长度。
D.调用concat() 方法,会修改原数组的值。
24,下列程序中alert按顺序分别弹出:(? ?),(? ?),(? ?)? ? var a = 10; ?? ? function test() { ?? ? ? ? a = 100; ?? ? ? ? alert(a); ?? ? ? ? alert(this.a); ?? ? ? ? var a; ?? ? ? ? alert(a);?? ? }? ? test(); ?A.10 ? ? B.100 ? ? c.undefined ? ? D.程序报错25,分析下面的代码,输出的结果是(? ?)? ? var arr=new Array(5);?? ? arr[1]=1;?? ? arr[5]=2;?? ? console.log(arr.length);?A.2 ? ? B.5 ? ? C.6 ? ? D.报错26,在JavaScript中,下列(? ?)语句能正确获取系统当前时间的小时值。
? A.var date=new Date(); ?var hour=date.getHour();?B.var date=new Date(); ?var hour=date.gethours();?C.var date=new date(); ?var hour=date.getHours();?D.var date=new Date(); ?var hour=date.getHours();27,请选择结果为真的选项(? ?)A.null == undefinedB.null === undefinedC.undefined == falseD.NaN == NaN?28, Math.ceil(-3.14)的结果是(? ?),Math.floor(-3.14) 的结果是(? ?)A.-3.14 ? ? B.-3 ? ? C.-4 ? ? D.3.1429, 阅读以下代码,在页面中结果是(? ?)? ? var ?s="abcdefg";? ? alert(s.substring(1,2));A.a ? ? B.b ? ? C.bc ? ? D.ab30, ?以下ECMAScript 变量命名格式正确的是(? ?)A._125dollor ? ? B.1207A ? ? C.-dollor ? ? D.this二、问答题(每题8分)1,找到数组[-1,-2,1,10,4,5,8] 中的最大值,至少写出两种方法?2,封装一个函数,将字符串"miao-wei-ke-tang" 从第二个单词开始首字母大写,然后拼成字符串miaoWeiKeTang,并返回。
(注意:封装成一个函数)3 , 封装一个函数,将字符串" ? ? ?miao ?v ? ? ? ?" 实现trim 的功能,但不使用trim 方法,去掉字符串前后空格,返回处理后的字符串。
4,写一个方法,找出字符串"abcabcabcabcabcabda" 中"ab" 出现的次数和位置。