前端小白面试

  1. selectedIndex 可以用来检索被选定的选项的索引号
  2. 要改变动态层中内容可以使用的方法有:innerHTML和innerText
  3. 在js里,下列选项中不属于数组方法的是(B) A.sort() B.length() C.concat() D.reserse
  4. 下列声明数组的语句中,错误的是(C) A.Var arry=new Array() B.Var arry=new Array(3) C.Var arry[]=new Array(3)(4) D.Var arry=new Array('3','4')
  5. 下列哪个不属于document对象的方法(D)A.focus() B.getElemmentById() C.getElemmentByNamme() D.bgColor()
  6. display 常用属性值不包括(C)A.inline B.block C.hidden D.none
  7. 以下有关pixelTop属性与top属性的说法正确的是。(D ) A.都是Location对象的属性 B.使用时返回值都是字符串 C.都是返回以像素为单位的数值 D.以上都不对
  8. 使用open方法打开具有浏览器工具条,地址栏,菜单栏的窗口,下列选项正确的是D a)open("x.html","HI","toolbas=1,scrollbars=1,status=1");

b)open("HI","scrollbars=1,location=1,status=1");

c)open("x.html","status=yes,menubar=1,location=1");

d)open("x.html","HI","toolbas=yes,menubar=1,location=1");

  1. javascript中表达式parseInt(“X8X8”)+paseFloat(‘8’)的结果是什么?( C)

a)8+8 b)88 c)16 d)“8”+’8

  1. 关于setTimeout(“check”,10)中说法正确的是( D)

a)程序循环执行10次

b)Check函数每10秒执行一次

c)10做为参数传给函数check

d)Check函数每10毫秒执行一次

  1. meta元素的作用是:用于指定关于html文档的信息
  2. overflow: 指网页元素的内容溢出时,是否显示多余的部分
  3. js中强制转换类型为number类型的方法有: 1.使用number()函数 2.针对字符串:parseInt()函数 parseFloat()函数 3.运算符的延申 (1)加"" (2)给值做减法、乘法、除法 进行隐式转换 (3)值前加+
  4. 常用运算符五大类:赋值运算符(= += -= *= /= %=)、算数运算符(+-*/%)、比较运算符、逻辑运算符、条件运算符(a=b?a:b)
  5. 生成10-99之间随机数的方法:let random = Math.floor(Math.random() * (99 - 10)) + 1
  6. js获取dom元素的方法:1.根据css选择器获取 document.querySelector('css选择器')或 document.querySelectorAll('css选择器') 2.根据id获取:document.getElementById('元素') 根据标签获取一类元素:document.getElementByTagname('元素') 根据类名获取:documment.getElementByClassName('类名')
  7. css3新增伪类: 1. :nth-child(n)选中父元素下的第n个子元素 2. :nth-last-child(n) 和1一样,但是从后查 3. :last-child 选中最后一个子元素 4. :only-child 如果该元素是父元素下唯一子元素,则选中 5. :nth-of-type(n) 查找第n个该标签的元素,可以为一个函数 6. :first-of-type 选中父元素下第一个该类型的元素 7. :last-of-type 选中父元素下最后一个该类型元素 8. :only-of-type 如果该元素是父元素下唯一该类型子元素,则选中 9. :empty 选中不包含子元素和内容的该元素 10. :target 选中当前活动的该元素 11. :not(元素名) 选中非该元素的每个元素 12. :enabled 控制表单控件的禁用状态 13. :disabled 控制表单的禁用状态 14.:checked 单选框和复选框被选中
  8. position 有哪些值: static relative absolute fixed sticky inherit(父元素继承定位) initial
  9. 常见块元素标签: <p> <div> <h1-h6> <ul> <ol> <li>
  10. h5新增语义化标签:header footer nav article aside main details figure
  11. js的基本数据类型:

js有8种基本的数据类型,前7种为基本数据类型,后一种objecct为复杂数据类型

基本数据类型:number,bigint,string,boolean,null,undefined,symbol

复杂:

function(函数) array(数组) data(日期) regexp(正则表达式)

  1. 简述对BFC的理解 BFC:格式化上下文,指一个独立的渲染区域。简单来说就是一个完全独立的空间,让空间里的子元素不会影响到外界布局。触发BFC:根元素 float值不为none overflow值不为visible display:inline-block/table-cell/table-caption position:absolute/fixed

  1. 简述对HTML语义化的理解 指页面去掉样式或加载失败的时候能够让页面呈现出清晰的结构.h5新增了很多语义化的标签,比如header,footer,article,aside,nav,main,details,figure等,我们光看单词就能理解标签的含义,写页面时可以直接引用这些标签,不需要再用没有任何意义的div标签了,对于机器可以识别,对于开发人员来说也很容易明白。 好处:1.去掉css页面也能呈现清晰的内容,结构 2.用户要体验更好 3.有利于SEO 4.便于项目开发维护,增强可读性
  2. 什么是盒子模型 css盒子模型就是在网页设计中经常使用到的一种思维模型。网页所有元素都具备四个属性:padding,margin,content,border 标准盒模型(box-sizing:content-box):width和height是自身content的宽高,不包含padding和border ie盒模型(box-sizing:border-box):width和height包含padding和border .如果不想被padding撑开盒子的话,可以设置为ie盒模型

1. get 请求和post请求的区别,何时使用post

       (1)get是从服务器上获取数据,post是向服务器传送数据。

  (2)get是将参数数据加到URL中,用户可以看到。post是将内容放置在http请求信息体内传送,用户看不到这个过程。

  (3)对于get方法,服务器端是用Request.QueryString获取变量的值,对于post方法,服务器端用Request.Form获取提交的数据。

  (4)get传送的数据量较小,不能大于2kb。post传送的数据量较大,一般被默认为不受限制。但理论上,IIS4中最大量为80kb,IIS5中为100kb。

  (5)get安全性非常低,post安全性较高。但是执行效率却比post方法好。

仅用于POST请求  在以下情况只能用POST请求(1.无法使用缓存文件;2.向服务器发送大量数据;3.发送包含未知字符的用户输入时,post比get更稳定也更可靠)

建议使用get方法的情况:1、get方式的安全性较Post方式要差些,包含机密信息的话,建议用Post数据提交方式2、在做数据查询时,建议用Get方式;而在做数据添加、修改或删除时,建议用Post方式;

2. css中Link和@import区别

1. link是HTML标签,用于在HTML文档中引入外部CSS文件;而@import是CSS规则,用于在CSS文件中引入其他CSS文件。

2. link可以在HTML文档的head部分或body部分引入CSS文件,而@import只能在CSS文件中使用。

3. link可以同时引入多个CSS文件,而@import只能引入一个CSS文件。

4. link在页面加载时同时加载CSS文件,而@import在页面加载完毕后再加载CSS文件,可能会导致页面闪烁。

5. link可以通过rel属性指定CSS文件的关系,如stylesheet、alternate stylesheet等;而@import没有这个属性。

总的来说,link更常用,更灵活,而@import则更适合在CSS文件中引入其他CSS文件。

3. 同步和异步的区别

同步:从上往下执行代码,单线程的,一个任务执行完毕才能执行下一个

异步:指不进入主线程,而进入任务队列的任务,只有任务队列通知主线程,某个异步任务可以执行了,该任务才会进入主线程,像进入网站,图片的加载,音乐视频的加载都是异步

4. ajax实现步骤,什么情况下会有跨域问题,解决方法

跨域:当一个网页从一个域名的网页去请求另一个域名的的资源时,就会发生跨域

	1.创建对象
	var xhr=new XMLHttpRequest()
	2.打开浏览器
	xhr.open('GET'/'post','请求地址')
	3.发送请求
	xhr.send()
	4.根据发送请求返回的状态码决定状态
	xhr.onreadystatechange=function(){
		if(this.readyState==4&&this.status==200){
			//5.请求成功
			console.log(this.responseText)
		}else{
		}
	}

5.什么情况导致跨域:同源三要素:协议。端口,域名。三个要素 同时一致才是同源

不同源策略时会导致跨域

协议不同、

端口号不同、

域名不同

IP地址不同

网址不同

解决:

1.设置响应头 被调用方解决(在相应请头部增加字段,告诉浏览器支持跨域访问)

2.调用方解决(隐藏跨域)nginx 处理方式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

前端ing!

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值