面试题

作者: 逍遥g | 来源:发表于2017-07-18 21:53 被阅读0次

1、谈谈你对跨域的认识,或者两台机器,a机器请求b机器上的数据,如何处理?

对于这样的问题,我是这样看的,由于多台机器在不同的地域,或者不同的域名,或者不同的端口这种情况下,它会引起ajax在访问的时候访问不到,比如数据,文件都访问不到,但是只有js文件是可以访问到的,基于这种情况,ajax就会利用js来访问其他的文件,这就是引起跨域的原因,就是不同服务器上,不同机器上访问不到数据跟文件。那么在ajax里面跨域的时候,是这样的,http也好,https也好,它在网络上传递的时候,我们在ajax请求路径上面,其实它如果请求别的机器,它有一个callback参数这个参数是一个函数,他会把这个参数传到目标服务器上面,目标服务器会接到这个callback参数,然后进行一系列的数据处理,然后生成json数据,但是callback也会传回来,写的时候一般写callback.json数据的数组。传回来之后,就即接到callback,又接到json数组,那么此时json数组就可以渲染了,这就是我对跨域的理解,当然目前实现跨域的手段有很多,比如jsonp,iframe.

2、事件委托是什么

事件委托就是事件目标自身不处理事件,而是把处理任务委托给其父元素或者祖先元素,甚至根元素(document)

3、数组操作的方法

数组是用来存储一系列相关数据的 我们常用的创建数组有两种方法 一种是var arr=[]  和      var arr=new Array() 它可以设置数组的长度;    ①console.log(Array.isArray(arr))  ②console.log(arr instanceof Array)判断是否为数组

常用的操作数组的方法有

push() 末尾添加

unshift()开头添加

pop()末尾删除

shift()开头删除

splice(index,length,添加的元素)

join()把数组返回成字符串

reverse()返回逆序数组

sort()数组从小--大排序

concat()合并数组

slice(index,index)截取  不包括结束下标

4、字符串操作的方法?

String() toString()

获取字符串对象的方法:charAt() 返回字符  写下标

charCodeAt()返回编码值

fromCharCode()填写编码值 返回字符串(多个)

查找类型:

indexOf()写字符返回对应的位置 连个参数  第二个参数从哪个位置开始查找

lastindexOf()返回字符串最后的位置

替换:

replace("#","")替换

截取类型:

splice(start,end)

substring(strat,end)不包括结束

substr(start,length)

转换类型:

split()分割 转换成数组

toLowerCase()小写

toUpperCase()大写

concat()连接多个字符串

5、JS中的数据类型有哪些

Number

String

Boolean

Null

Undefined

Object

6、什么事作用域链

我们可以把所有作用域看成是有一个链条链接起来的,这样能使变量和函数能够有序有机的进行运行。

7、创建函数的几种方式?

定义:函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块。

优点:使程序更加简洁、逻辑性更调理、调用更方便、维护更加容易

参数:arguments length callee

函数分为具名函数和匿名函数

具名函数的创建function aa(){}

匿名函数 var aa=function(){}

8、javascript的语法?javascript是有什么组成的?

基于对象和事件驱动的松散型的解释性语言,javascript是有ECMA javascript BOM和DOM组成。

9、谈谈你对ajax的理解?

ajax在项目当中是当作异步传输模式来做的,异步传输时相当于同步来说的,当我们按下F5刷新页面时,那么整个页面在浏览器中都会被更新数据,而当我们须要部分数据更新时,这时候我们调用ajax,ajax会刷新这一部分数据而不刷新整张页面,这就是异步传输。  而对于我们实现ajax来说,一般分为这么几种情况,第一种情况是原生的ajax 第二种是被jQuery简化过后的ajax

其中原生的ajax是这样的,首先应该创建ajax对象,这时候应该考虑兼容性,然后调用open()方法打开ajax的链接,里面写的属于有 ger/post,url,true/false(是否同步异步),建立连接后,开始执行send()的方法请求数据,在这个过程中,需要调用一个监听事件onreadystateChange,在监听过程中有5个状态值,当状态值为4表示执行完毕 当状态吗为200时,执行成功,然后把请求的数据responseText,然后再进行遍历,执行页面操作。

jQuer简化后的ajax,$.ajax调用的时候里面有几个重要的参数type\url\dataType\success\error这些就是原生中对应参数的值

ajax的优点1、实现异步的传输,带来了更好的用户体验

2、ajax占用的空间少,ajax能实现及时通讯系统,开创了调用其它接口方便的先河

ajax的缺点1、对于服务器来讲,由于ajax局部刷新数据,使服务器在频发的处理,请求中速度变慢

综上所述:这就是我对ajax的理解。

10、节点

获取: 对象.parentNode      获得父节点的引用

对象.childNodes        获得子节点的集合

对象.firstChild          获得第一个子节点的引用

对象.lastChild            获得最后一个子节点的引用

对象.nextSibling        获得下一个兄弟节点的引用

对象.previousSibling 获得上一个兄弟节点的引用

操作: 父对象.appendChild(追加的对象)                        插入到最后

父对象.insertBefore(要插入的对象,之前的对象)    插入到某个对象之前

父对象.removeChild(删除的对象)

12、事件绑定和普通事件有什么区别

普通事件覆盖前面的事件  事件绑定可以绑定多个事件 不会被覆盖

13、我们如何从本地存储中添加和移除数据?

LocalStorage

setItem(key,value)

获取:getItem(key)

删除:removeItem(key)

14、javascript的同源策略

引用的资源需要在同一个域名下,否则有跨域安全性问题请求不到。当然也有很多方法可以跨域请求。

15、document load 和document ready的区别

页面加载完成有两种事件,一是ready,表示文档结构已经加载完成(不包含图片等非文字媒体文件),二是onload,指示页面包含图片等文件在内的所有元素都加载完成。

16、ajax请求的时候get 和post方式的区别

1、 get是把参数数据队列加到提交表单的action属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post是通过HTTP post机制,将表单内各个字段与其内容放置在html header内一起传送到action属性所指的URL地址。用户看不到这个过程。

2、 对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。两种方式的参数都可以用Request来获得。

3、get传送的数据量较小,不能大于2KB。post传送的数据量较大,一般被默认为不受限制。但理论上,因服务器的不同而异.

4、get安全性非常低,post安全性较高

总而言之post是把数据传输到HTTP中  而get是把数据传输到url中

如果传输的数据比较大用post数据小于2kb时用post传值

相关文章

  • 面试材料

    面试经验 面试题1 面试题2 面试题3 面试题4 面试题5 面试题6――数据结构 面试题7――网络 面试题8――汇...

  • 高阶面试题

    webpack面试题 面试题:webpack插件 Git面试题 面试题:git常用命令 面试题:解决冲突 面试题:...

  • this的指向的面试题

    面试题1 面试题2 面试题3 面试题4

  • 面试所涉及的问题

    面试题参考1 : 面试题 面试题参考2 : 内存管理 面试题参考3 :面试题 ...

  • Android超实用最全面试大纲(三)

    文章目录: ANR面试题 OOM面试题 Bitmap面试题 UI卡顿面试题 内存泄漏面试题 内存管理面试题 一、A...

  • Android最全面试大纲(三)

    文章目录: ANR面试题 OOM面试题 Bitmap面试题 UI卡顿面试题 内存泄漏面试题 内存管理面试题 一、A...

  • 2022年web前端面试题

    web前端面试题分为:html/css面试题、javascript面试题、vue面试题、性能优化面试题、网络方面面...

  • ios面试题

    初级面试题 中级面试题 高级面试题 swift篇

  • Android超实用最全面试大纲(四)

    文章目录: 冷启动和热启动面试题 其他优化面试题 架构模式面试题 插件化面试题 热更新面试题 进程保活面试题 Li...

  • Android最全面试大纲(四)

    文章目录: 冷启动和热启动面试题 其他优化面试题 架构模式面试题 插件化面试题 热更新面试题 进程保活面试题 Li...

网友评论

      本文标题:面试题

      本文链接:https://www.haomeiwen.com/subject/rsqkkxtx.html