博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
做一些面试题目(JavaScript部分)
阅读量:5064 次
发布时间:2019-06-12

本文共 2177 字,大约阅读时间需要 7 分钟。

1.js是什么,js和html 的开发如何结合?

 JavaScript 是广泛用于客户端Web开发的脚本语言,常用来给HTML网页添加动态功能。

 通过DOM把HTML分析为节点来进行相应的结合开发。

2. 怎样添加、移除、移动、复制、创建和查找节点?

 appendChlid添加节点;removeChild移除节点;cloneNode复制节点;createElement创建节点;getElementById,getElementsByTagName,getElementsByName查找节点

3. 怎样使用事件以及IE和DOM事件模型之间存在哪些主要差别?

 

4.面向对象编程:b怎么继承a?
fuction a(){
}
var b=a;

5. 看看下面alert的结果是什么?

function b(x, y, a) {arguments[2] = 10;alert(a);}b(1, 2, 3);

 都是10

6. 请编写一个JavaScript函数 parseQueryString,它的用途是把URL参数解析为一个对象

var url="http://test.com/index.php?key0=0&key1=1&key2=2";function parseQueryString(url){        var str=url.split("?")[1];//取右边的    var items=str.split("&");    var obj={};    var arr;    for(var i=0;i

 

7.ajax是什么?   ajax的交互模型? 同步和异步的区别? 如何解决跨域问题?

AJAX = Asynchronous JavaScript and XML异步刷新
AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。
AJAX的交互模型就是AJAX在浏览器端准备了一个执行引擎,一边接收用户提交的需求,一边准备在准备好后台返回的数据。如搜索补全和验证用户名
同步就是一条线执行完,异步就是各条线执行各自的。
跨域问题解决的精髓就是用ajax请求一个包含服务器语言的页面,用服务器语言去获取跨域所请求信息,然后返回给请求数据页。
http://blog.csdn.net/lovingprince/article/details/2954675
在这里给出了比较详细的三种方法:
1、服务器
Proxy: A 的页面 JS 需要访问域 B 下的链接获取数据,该方案在域 A 的服务器端建立一个 Proxy 程序 ( 可能是 ASP servlet 等任何服务端程序 ) ,域 A 的页面 JS 直接调用本域下的 Proxy 程序, proxy 程序负责将请求发送给域 B 下的链接并获取到数据,最后再通过 Proxy 将数据返回给页面 JS 使用。
2、Script 标签:域 A 页面 http://Jipiao.taobao.com/test.htm 的 head 中写一个空的 Script 标签
      

注意:这种方案要求域 B 返回的数据必须是合法的 JSON 格式或者如 JS 文件的格式。

3、隐藏 iframe: 即域 A jipiao.taobao.com/yyyy.htm 的页面上写一个隐藏的 iframe

这里列举的三种方案各有优缺点:

    Proxy 方案优点是可以适用用于几乎所有的跨域访问,而且只需要要一个域中进行开发,另一个域可以提供任何类型格式的数据。缺点是这种方案经过了中间 Proxy ,所以延迟可能稍微大一点,并且会加重本域服务器的负荷,开发工作量也稍微大一点。

    Script 标签的方案可以说是非常简单的,不用几行代码就搞定了事,不过它对返回的数据格式要求有点严格,只能是 Json 格式数据 , 如果是其他格式的数据,那么这种方法就无能为力了。

    隐藏 iframe 方式也很简单,它可以处理任何返回的数据格式,但它只适用在具有同一个父域下的跨域请求上,并且要求其他域得配合开发,即需要设置 document.domain

8.什么是闭包?
 子函数可以使用父函数中的局部变量,这种行为就叫做闭包。它的最大用处有两个,一个是可以读取函数内部的变量,另一个就是让这些变量的值始终保持在内存中。

使用闭包的注意点

1)由于闭包会使得函数中的变量都被保存在内存中,内存消耗很大,所以不能滥用闭包,否则会造成网页的性能问题,在IE中可能导致内存泄露。解决方法是,在退出函数之前,将不使用的局部变量全部删除。

2)闭包会在父函数外部,改变父函数内部变量的值。所以,如果你把父函数当作对象(object)使用,把闭包当作它的公用方法(Public Method),把内部变量当作它的私有属性(private value),这时一定要小心,不要随便改变父函数内部变量的值。

9.下面这个ul,如何点击每一列的时候alert其index?
  • 这是第一条
  • 这是第二条
  • 这是第三条

 

转载于:https://www.cnblogs.com/pilee/p/3561946.html

你可能感兴趣的文章
docker固定IP地址重启不变
查看>>
桌面图标修复||桌面图标不正常
查看>>
JavaScript基础(四)关于对象及JSON
查看>>
JAVA面试常见问题之Redis篇
查看>>
jdk1.8 api 下载
查看>>
getElement的几中属性介绍
查看>>
HTML列表,表格与媒体元素
查看>>
雨林木风 GHOST_XP SP3 快速装机版YN12.08
查看>>
java对象的深浅克隆
查看>>
数据结构3——浅谈zkw线段树
查看>>
Introduction to my galaxy engine 2: Depth of field
查看>>
Python 3.X 练习集100题 05
查看>>
设计器 和后台代码的转换 快捷键
查看>>
Monkey测试结果分析
查看>>
STL——配接器、常用算法使用
查看>>
STL容器之vector
查看>>
无法向会话状态服务器发出会话状态请求
查看>>
数据中心虚拟化技术
查看>>
01入门
查看>>
复习文件操作
查看>>